论坛: 黑客进阶 标题: perl中的加密函数 复制本贴地址    
作者: ganjiawei [ganjiawei]    论坛用户   登录
crypt是采用DEC加密技术加密的 但好像加密的结果中密匙是明的
如 crypt($string,a) 它的结果是aerrq23434 
   crypt($string,b)           b54315346t
那它的密匙不是可以在加密后的结果中看出
如果得到密码文件不是可以破了  虽然麻烦了点 

地主 发表时间: 08/14 08:43

回复: yaochi [yaochi]   论坛用户   登录
这是你的问题啊
为什么要用静态的钥匙呢

一般可以截取某个字符串(如用户名)的几位做钥匙啊

得到密码文件,似乎也只可以用暴力破解


B1层 发表时间: 08/14 10:01

回复: xiean [xiean]   论坛用户   登录
没错,首先说下,不是DEC,是DES(Data Encryption Standard)

crypt 的加密结果的确是把key做为明文存放于最前的两个字节,当然,如果你用一个字符做为key的话,加密结果当然会变,而前面的两个字节则是重复该字母,比如用A做key的话,结果会是AA......

话虽如此,你想key明文都给人家了,破解就是麻烦一点嘛,花点时间不就得了?

但暴力破解不是万能的,虽然总有结果出来的那天,可是如果一个密码足够强壮,我就认为你在一年内能破出来,要对方换了密码。。你怎么办?

另外,crypt也可以用其它算法的,比如MD5

这世上没有不可破的密码,更何况是这种加密方式都是公开的算法,解出的时间虽然长,但也是可以预见的,解出来了,也许保质期过了N久了,所以大家依然用DES/MD5/DSA/RSA等来加密

B2层 发表时间: 08/14 10:36

回复: xiean [xiean]   论坛用户   登录
另外,你这是 perl 下的 crypt(),你有空试试命令下的 crypt,嘿

选任意文档,比如现在就拿 encode.c 做为例子,运行
*nix$ crypt encode.c > encrypt
这时要求输入Key
Enter key: 1234 (这儿你随便输,记得输的字符就好)
你再用
*nix$ crypt 1234 < encrypt
看看结果如何?再看看你的encode.c,再看看encrypt文件

B3层 发表时间: 08/14 11:04

论坛: 黑客进阶

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号