zoukankan      html  css  js  c++  java
  • 加密

    使用Python的hashlib类进行加密:

    hashlib是个专门提供hash算法的库,里面包括md5, sha1, sha224, sha256, sha384, sha512,使用非常简单、方便。

    MD5

    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法)。128位长度。目前MD5是一种不可逆算法。

    具有很高的安全性。它对应任何字符串都可以加密成一段唯一的固定长度的代码。

    SHA1

    SHA1的全称是Secure Hash Algorithm(安全哈希算法) 。SHA1基于MD5,加密后的数据长度更长,

    它对长度小于264的输入,产生长度为160bit的散列值。比MD5多32位。因此,比MD5更加安全,但SHA1的运算速度就比MD5要慢了

    import hashlib
    a='abcd'
    b='abcd'
    m=hashlib.md5(a).hexdigest()
    n=hashlib.md5(b).hexdigest()
    
    m == n 返回True
    print m
    返回:e2fc714c4727ee9395f324cd2e7f331f

    使用django的api(make_password, check_password)进行密码的加密与验证

    make_password(password[, salt, hashers])

    from django.contrib.auth.hashers import make_password, check_password
    #make_password 用于加密密码
    #check_password用于验证输入的密码是否正确
    
    a='abcd'
    passwd = make_password(a, None, 'pbkdf2_sha256') 
    print passwd 返回: u'pbkdf2_sha256$20000$rkolStxsoOG9$LeokGEsTcxhpHrl6JOfTzCZIPLC23YL3n6KPcpEF9qU=' check_password(b,passwd) 返回True

    make_password每次返回的字符串都不相同,如果需要返回相同的字符串,可以把make_password的第二个函数给一个固定的字符串如下:
    make_password(a,‘abc’, 'pbkdf2_sha256')
    如果第二个参数为空,则相当于make_password(a, None, 'pbkdf2_sha256')

     
  • 相关阅读:
    成为数据科学家并不难
    大数据分析的众包平台—Kaggle
    如何写一份好的数据分析报告
    配置java环境时,java的path地址放在其他地址的前面还是后面?
    js:随记
    JS:JSP Servlet
    [swustoj 1088] 德州扑克
    [swustoj 1092] 二分查找的最大次数
    [swustoj 371] 回文数
    [swustoj 1097] 2014
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/5242122.html
Copyright © 2011-2022 走看看