免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1390 | 回复: 0
打印 上一主题 下一主题

crypt密码加密 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-03 16:08 |只看该作者 |倒序浏览
php里面查到是这样的:
   
     CRYPT_STD_DES - Standard DES-based encryption with a two character salt
   
   
   
     CRYPT_EXT_DES - Extended DES-based encryption with a nine character salt
   
   
   
     CRYPT_MD5 - MD5 encryption with a twelve character salt starting with
     $1$
   
   
   
     CRYPT_BLOWFISH - Blowfish encryption with a sixteen character salt
     starting with $2$ or $2a$
    并且有这样的示例:
if (CRYPT_STD_DES == 1) {
    echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl') . "\n";
}
if (CRYPT_EXT_DES == 1) {
    echo 'Extended DES: ' . crypt('rasmuslerdorf', '_J9..rasm') . "\n";
}
if (CRYPT_MD5 == 1) {
    echo 'MD5:          ' . crypt('rasmuslerdorf', '$1$rasmusle$') . "\n";
}
if (CRYPT_BLOWFISH == 1) {
    echo 'Blowfish:     ' . crypt('rasmuslerdorf', '$2a$07$rasmuslerd...........$') . "\n";
}
?>
    在linux和windows下,都只支持标准DES和md5加密这2种,不知其他2个怎么折腾出来;
python的crypt模块也只是对标准和md5说了下,看来也是同样情况;
标准DES加密:
是从64个字符(大小写A-Z,0-9,还有/ .)挑2个作为salt;
扩展DES: 挑9个;
标准MD5: 是挑8个,然后用$1$SALT$, 这样12个字符作为salt;
BLOWFISH: 没明白,说是16个字符,可数来数去都不止;
姑且照葫芦画瓢,把BLOWFISH当成16个字符:
===============================================================
import random,crypt,getpass
salt = ''
print """
crypt method choose:
1) standard DES
#2) extended DES
3) MD5
#4) BLOWFISH
"""
choosenum = int(raw_input())
if choosenum == 1:  totalnum = 2
#elif choosenum == 2:  totalnum = 9
elif choosenum == 3:  totalnum = 8
#elif choosenum == 4:  totalnum = 12
else:
    print "choose error num"
    sys.exit(0)
for i in range(0,totalnum):
    salt = salt + random.choice('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./0123456789')
#print "salt is:", salt
newpass = getpass.getpass("pls input your password:")
if choosenum == 3:
    print crypt.crypt(newpass,"$1$" + salt + "$")
elif choosenum == 1 or choosenum == 2 :
    print crypt.crypt(newpass,salt)
#elif choosenum == 4:
#    print crypt.crypt(newpass,"$2$" + salt + "$")
得到的加密字符,取代shadow文件中的密码部分;
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/57278/showart_1163128.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP