我需要帮助将以下 PHP 转换为 python
$plaintext = "MyPassword";
$utf_text = mb_convert_encoding( $plaintext, 'UTF-16LE' );
$sha1_text = sha1( $utf_text, true );
$base64_text = base64_encode( $sha1_text );
echo $base64_text; //ouput = QEy4TXy9dNgleLq+IEcjsQDYm0A=
Run Code Online (Sandbox Code Playgroud)
我正在尝试 hashlib.sha1 但它不起作用。也许是因为这个,也许是编码。任何人都可以帮忙吗
您的 PHP 代码将密码编码为 UTF16、小端;如果你的密码值是 unicode 值,那么在 Python 中就可以正常工作:
>>> import hashlib
>>> plaintext = u"MyPassword"
>>> utf_text = plaintext.encode('UTF-16LE')
>>> hashlib.sha1(utf_text).digest().encode('base64')
'QEy4TXy9dNgleLq+IEcjsQDYm0A=\n'
Run Code Online (Sandbox Code Playgroud)
上述会话是在 Python 2 中完成的;在 Python 3 中,u
可以省略前缀,因为所有字符串值都是 Unicode。
归档时间: |
|
查看次数: |
4253 次 |
最近记录: |