hi,everyone.
I want to generate the hash code from a string,e.g."咖啡" ,but the hashcode I get from python and c# is different,the one from python is what I want
c#
python
binary string is e5 92 96 e5 95 a1 both in c# and python
md5 hash code:
(c#)a761914f976 0af3c112e24f08d ea1b16
(python)3b7daa5 8a1fecdf5ba4d94 d539fbb4d5
I want to generate the hash code from a string,e.g."咖啡" ,but the hashcode I get from python and c# is different,the one from python is what I want
c#
Code:
String str = "咖啡";
MD5 m = MD5.Create();
byte[] data = m.ComputeHash(Encoding.Default.GetBytes(str));
StringBuilder sbuilder = new StringBuilder();
for(int i=0;i<data.Length;i++){
* sbuilder.Append(data[i].ToString("x2"));
}
byte[] hex = Encoding.Default.GetBytes(str);
StringBuilder hex_builder = new StringBuilder();
foreach(byte a in hex){
* hex_builder.Append("{0:x2}",a);
}
//md5 hash code
Response.Write(sbuilder.ToString());
//binary string
Response.Write(hex_builder.ToString());
Code:
str = '咖啡' m = hashlib.md5() m.update(str) #md5 hashcode print m.hexdigest() #binary string print ' '.join(["%02x"%ord(x) for x in str])
md5 hash code:
(c#)a761914f976 0af3c112e24f08d ea1b16
(python)3b7daa5 8a1fecdf5ba4d94 d539fbb4d5