Dan*_*nov 1 python md5 asp.net-membership
如何在python中的数字对之间使用破折号格式化MD5哈希?
例如,我可以生成这样的十六进制字符串:
from hashlib import md5
print md5("Testing123!").hexdigest()
Run Code Online (Sandbox Code Playgroud)
这给出了这个输出:
b8f58c3067916bbfb50766aa8bddd42c
Run Code Online (Sandbox Code Playgroud)
我怎样才能像这样格式化输出:
B8-F5-8C-30-67-91-6B-BF-B5-07-66-AA-8B-DD-D4-2C
Run Code Online (Sandbox Code Playgroud)
(注意:这是为了匹配 ASP.NET Membership Provider 用于在数据库中存储密码哈希的格式,因此我可以从 Python 中与它进行交互。)
一个非常有趣的方法是这样做:
>>> x = 'b8f58c3067916bbfb50766aa8bddd42c' # your md5
>>> '-'.join(a + b for a, b in zip(x[0::2], x[1::2])).upper()
'B8-F5-8C-30-67-91-6B-BF-B5-07-66-AA-8B-DD-D4-2C'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1778 次 |
| 最近记录: |