请教这段 C#的代码怎么改写成 Python
public class Encrypt
{
public static string DoEncrypt(string ls_input)
{
MD5 mD = new MD5CryptoServiceProvider();
ls_input = string.Format("aaa{0}bbb", ls_input);
byte[] bytes = Encoding.Unicode.GetBytes(ls_input);
byte[] array = mD.ComputeHash(bytes);
string text = null;
for (int i = 0; i < array.Length; i++)
{
text += array[i].ToString("x");
}
return string.Format("bkSystem_{0}", text);
}
}
我自己写了一段,不过加密出来的值和 C#生成的值不一样,还请帮忙改下
import hashlib
data = '[{"lxdh":"134859393","content":"testbk"}]'
def encrypt(input):
is_input = 'aaa%sbbb' %input
print (is_input)
is_input = hashlib.md5(is_input.encode('utf-8')).hexdigest()
is_input = 'bkSystem_' + is_input
print(is_input)
encrypt(data)
1
huntzhan 2018-01-20 17:13:20 +08:00
不帮
|
2
jalena 2018-01-20 17:19:20 +08:00
不帮
|
3
geelaw 2018-01-20 17:30:14 +08:00 4
byte[] bytes = Encoding.Unicode.GetBytes(ls_input);
is_input.encode('utf-8') 是什么让你觉得 Unicode = UTF-8 ?在 Windows 语境下,Unicode 是 UTF16LE。 |
4
ge2009 OP @geelaw 嗯,看来是 Windows 上 Unicode 和 Python 上转化的区别,不过好像 UTF16LE 也是不对的,不知道该用什么字符集合适
|
6
JacketPC 2018-01-21 11:07:24 +08:00 1
UTF-8 ~~哦。。楼上有人答了啊。。
|
8
ge2009 OP |