• 读书笔记一【哈希——MD5】


    计算机中,将某种数据转换成指定范围内的数字数字或字母叫做哈希(散列、hashing)

    哈希后的值无法像加密解密那样恢复为原文值,通常用于文件校验或数字签名等

    好的散列算法应具有:

    • 充分利用所有数据位
    • 不可逆
    • 雪崩特性

    MD5散列:

    1.编码

    MD5将密码转换成一个512位的数据块

    假设原文为10位,则编码后前80位(8位表示一个字符)为原文各字符的ASCII码值,中间填0

    最后64位为原文编码长度的二进制值,以原文10位为例,因为编码后应占8*10位,则后64位为0000...01010000

    2.按位运算

    简单的二进制运算,略

    3.MD5散列过程

    MD5通过将一个固定的32*4位二进制数据,每32位循环与编码中的一段进行与或非二进制运算、调换顺序后,多次反复后,获得一个新的长度为128位的散列值

    4.补充

    • MD5默认为128位,其他位数是截取一部分
    • MD5不能恢复,但是可以碰撞
    • MD5为1对多关系,即一个原文对应一个MD5值,一个MD5值对应多个原文
  • 相关阅读:
    Linux用户组管理及用户权限3
    MySQL预处理和事务
    MySQL-子查询和多表联查
    Mysql-分组和聚合函数
    LNMP搭建
    apache-虚拟主机配置
    Apache-重写
    apache配置文件详解
    vim使用
    php-curl_init函数
  • 原文地址:https://www.cnblogs.com/punkrocker/p/10467939.html
Copyright © 2020-2023  润新知