
请教这段 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 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 UTF-8 ~~哦。。楼上有人答了啊。。 |
8 ge2009 OP |