便宜, using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Sys
public static string MD5(string str) { byte[] b = Encoding.Default.GetBytes(str); b = new MD5CryptoServiceProvider().ComputeHash(b); string ret = ""; for (int i = 0; i < b.Length; i++) ret += b[i].ToString("x").PadLeft(2, '0'); return ret; }
这是MurmurHash算法,由c++改成c#版本。使用它在生500万内生成64位的数字,也是会出现碰撞的。在实际开发转,可能需要将不定长的数符中转生数字,想转生64位唯一数字的话。可以用md5算法生成16位的字节,再用MurmurHash算法转生一个数字。经测试,在2500万内随机字符串转成的数字,没有发生碰撞。这个办法可以满足需要。 public static ulong MakeNumber(string source) { var mk = new System.Security.Cr
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.
java 实现 merkle tree
while (true) {
Event event = receiveEvent();
String hash = computeHash(event);
// ... process and transmit the message to the downstream Queue
sendToDownstreamQueue(hash, event);
eventSigs.add(has);
if (isTimeForChe