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