首页IT科技md5加密怎么解密(python怎么使用md5加密解密)

md5加密怎么解密(python怎么使用md5加密解密)

时间2025-08-02 18:27:54分类IT科技浏览7672
导读:python采用hashlib这个标准库实现MD5加密解密。方法是:1、updata传数据;2、利用hexdigest进行16进制转换;...

python采用hashlib这个标准库实现MD5加密解密                 。方法是:1                、updata传数据;2                          、利用hexdigest进行16进制转换;

update(arg)传入arg对象来更新hash的对象                         。必须注意的是                ,该方法只接受byte类型                          ,否则会报错         。这就是要在参数前添加b来转换类型的原因        。

同时要注意         ,重复调用update(arg)方法                ,是会将传入的arg参数进行拼接                         ,而不是覆盖                         。也就是说         ,m.update(a); m.update(b) 等价于m.update(a+b)                 。

hexdigest()在英语中hex有十六进制的意思        ,因此该方法是将hash中的数据转换成数据                         ,其中只包含十六进制的数字        。

>>>importhashlib >>>m=hashlib.md5() >>>m.update(b123) >>>m.hexdigest() 202cb962ac59075b964b07152d234b70 #或者可以这样(最常见的写法                 ,常用于图片的命名) >>>hashlib.md5(b123).hexdigest() 202cb962ac59075b964b07152d234b70 #也可以使用hash.new()这个一般方法        ,hashlib.new(name[,data])                         ,name传入的是哈希加密算法的名称                 ,如md5 >>>hashlib.new(md5,b123).hexdigest() 202cb962ac59075b964b07152d234b70

以上是对于英文进行md5加密的,如果要对中文进行加密                         ,发现按照上面来写会报错                          ,原因在于字符转码问题,要如下写:

>>>importhashlib >>>data=你好 >>>hashlib.md5(data.encode(encoding=UTF-8)).hexdigest() 7eca689f0d3389d9dea66ae112e5cfd7

此处先将数据转换成UTF-8格式的                ,使用网上工具对比下加密的结果                          ,发现有的md5加密工具并不是使用UTF-8格式加密的                         。

经测试目前发现可以转为UTF-8         、GBK                、GB2312                         、GB18030         ,不分大小写(因为GBK/GB2312/GB18030均是针对汉字的编码                ,所以md5加密后结果一样)                 。

例如:

>>>hashlib.md5(你好.encode(encoding=UTF-8)).hexdigest() 7eca689f0d3389d9dea66ae112e5cfd7 >>>hashlib.md5(你好.encode(encoding=GBK)).hexdigest() b94ae3c6d892b29cf48d9bea819b27b9 >>>hashlib.md5(你好.encode(encoding=GB2312)).hexdigest() b94ae3c6d892b29cf48d9bea819b27b9 >>>hashlib.md5(你好.encode(encoding=GB18030)).hexdigest() b94ae3c6d892b29cf48d9bea819b27b9

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
ip地址与网络上的其他地址有冲突需要报修吗(在win10中,为什么IP地址与网络上其他地址有冲突?) vue3.0响应式原理(使用Vue+Vuex+CSS3完成管理端响应式架构模板实战)