#!/usr/bin/perl
use strict;
use Getopt::Long;
use Pod::Usage;
=head1 NAME
scramble - encrypts and decrypts CVS password hashes
=head1 SYNOPSIS
scramble [-d ] [-e ]
Options:
-d string to decrypt
-e string to encrypt
-help documentation
=head1 EXAMPLES
./scramble.pl 'blahblah'
./scramble.pl "Au'ycu'yc"
=head1 AUTHOR
Blair Sutton - 2005
=cut
pod2usage(2) if !@ARGV;
my @shifts = (
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
114,120, 53, 79, 96,109, 72,108, 70, 64, 76, 67,116, 74, 68, 87,
111, 52, 75,119, 49, 34, 82, 81, 95, 65,112, 86,118,110,122,105,
41, 57, 83, 43, 46,102, 40, 89, 38,103, 45, 50, 42,123, 91, 35,
125, 55, 54, 66,124,126, 59, 47, 92, 71,115, 78, 88,107,106, 56,
36,121,117,104,101,100, 69, 73, 99, 63, 94, 93, 39, 37, 61, 48,
58,113, 32, 90, 44, 98, 60, 51, 33, 97, 62, 77, 84, 80, 85,223,
225,216,187,166,229,189,222,188,141,249,148,200,184,136,248,190,
199,170,181,204,138,232,218,183,255,234,220,247,213,203,226,193,
174,172,228,252,217,201,131,230,197,211,145,238,161,179,160,212,
207,221,254,173,202,146,224,151,140,196,205,130,135,133,143,246,
192,159,244,239,185,168,215,144,139,165,180,157,147,186,214,176,
227,231,219,169,175,156,206,198,129,164,150,210,154,177,134,127,
182,128,158,208,162,132,167,209,149,241,153,251,237,236,171,195,
243,233,253,240,194,250,191,155,142,137,245,235,163,242,178,152 );
GetOptions(
"d:s" => sub {
print descramble($_[1])."\n"; exit;
},
"e:s" => sub {
print scramble($_[1])."\n"; exit;
},
"help" => sub {
pod2usage(-exitstatus => 0, -verbose => 2); exit;
},
);
exit;
sub scramble {
my ($str) = @_;
my $s = "A$str";
for (my $i = 1; $i < length($s) ; $i++) {
substr($s, $i, 1, chr($shifts[ord(substr($s, $i, 1))]));
}
return $s;
}
sub descramble{
my ($str) = @_;
die "unknown scrambling method!" if (substr($str, 0, 1) ne 'A');
my $s = scramble($str);
substr($s, 0, 2, '');
return $s;
}
分享到:
相关推荐
Encrypt and Decrypt string by EDS method
Simple Encrypt and Decrypt String App in Python
Encrypt/Decrypt messages. Great program for keeping personal messages personal. Check it out.
zip,encrypt,decrypt zip,encrypt,decrypt zip,encrypt,decrypt
LFSR foe encrypt and decrypt an image
js-encrypt-decrypt安装npm install js-encrypt-decrypt --save步骤1:汇入套件const _encryptPackage = require( ' js-encrypt-decrypt ' ) ;第2步:安装加密模块并使用加密模块生成加密密钥和IV步骤2.1:创建加密...
Tutorial for Vb .Net for Encryption/Decryption of data
AES - ENCRYPT/ deCRYPT
Use this code to encrypt / decrypt a string with a password of any length.
AES source code.a code to encrypt and decrypt a file using AES.AES is very well symmentric crypto algorithm
Encrypt+Decrypt
AN12554 Demo Application to Generate Red/Black Blobs Using CAAM and Encrypt/Decrypt Data
C# DES加密、解密 UNICODE字符串加密 使用BASE64 支持文件的加密和解密
Java 加密解密Eclipse工程和 Objective C加密解密XCode工程,分别实现了DES,3DES,AES128,AES256及RSA加密算法和跨语言平台互操作。
Laravel 的加密机制使用 OpenSSL 提供 AES-256 和 AES-128 的加密,本文将详细介绍关于Laravel中encrypt和decrypt的实现,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 1. 使用方法 首先是...
对以前工具UI进行改写,并进行新的可重用基类编写,没有源码,写得不够效率不好意思公开,DLL部分还是WIN32占大部分;简单测试,没发现有泄漏;请大家帮我发现泄漏点 =================================== ...
encrypt n decrypt text using AES algorithm
Encrypt and decrypt files and keep your data secure MEO is file encryption software for Mac or Windows that will encrypt or decrypt files of any type. Protect sensitive data against unauthorized ...
encrypt-decrypt-file-using-openssl encrypt & decrypt file using openssl 生成私钥: openssl genrsa -out private.pem 2048 生成公钥: openssl rsa -in private.pem -pubout > public.pem 在Linux下的编译:gcc...
simple encrypt decrypt algrithm use xor to realize