zoukankan      html  css  js  c++  java
  • python 摘要算法

    一、概述:

      摘要算法主要特征是加密过程不需要密钥,并且加密的数据无法解密,只有输入相同的明文数据经过相同的摘要算法才能得到相同的密文。摘要算法主要应用在“数字签名”领域。接下来会讲述RSA公司的MD5算法和SHA-1算法。

    二、原理:

      通过一个函数,把任意长度的数据转换成一个长度固定的数据串(通常用16进制的字符串表示)

    三、MD5算法:

      MD5算法最常见的摘要算法,生成速度快,生成结果是128位,通常用32位的16进制字符串表示。

      python中使用:

      

    四、SHA-1算法:

      调用与MD5完全一样,SHA1通常是160字节,通常用40位16进制字符串表示

      Python中使用:

      

    五、应用:  

      任何允许用户登录的网站都会存储用户登录的用户名和密码,那么密码一般存储的是原密码的摘要值,正确保存口令方式不是存储明文内容,而是存储口令的摘要;当用户登录时,首先计算用户输入明文口令的摘要,和数据库对比,如果一致则说明口令正确,否则一定错误。

    六、注意:

      1、越安全的算法不仅越慢,而且摘要会越长

      2、有可能两个不同数据通过hashlib算法后得到了相同的摘要,因为摘要算法是将无限多的数据映射到有限的集合中。如果两个摘要数据相同,称之为碰撞。出现几率极其小。

  • 相关阅读:
    xcode 快捷键大全、XCode常用快捷键图文介绍
    在ASP.NET Core 2.0 web项目中使用EntityFrameworkCore
    AspNetCore2身份验证
    @addTagHelper的使用
    Asp.net Mvc身份验证
    webAPi OData的使用
    Chrome及Chrome内核浏览器改变开发者工具字体大小
    银行卡号校验
    django静态文件
    django 简单路由配置
  • 原文地址:https://www.cnblogs.com/MoonlightMaleGod/p/9561265.html
Copyright © 2011-2022 走看看