SHA1签名算法,JAVA和C#
java:
1 public static void main(String[] args) throws NoSuchAlgorithmException { 2 String token = "31a4a1aa-cffc-4aca-9ef6-0497edf7fbed"; 3 String nonce = "Rzem0rlz19e6GZuZuFKyDzaxiS4baaqn8uvxVnntXKS"; 4 String timestamp = "1646790230854428120"; 5 String dataEncrypt= "abcdefg"; 6 final String[] arrayStrs = { token, timestamp, nonce, dataEncrypt}; 7 Arrays.sort(arrayStrs); 8 String sTemp = ""; 9 for (final String s : arrayStrs) { 10 sTemp += s; 11 } 12 final MessageDigest md = MessageDigest.getInstance("SHA-1"); 13 md.update(sTemp.getBytes()); 14 final byte[] digest = md.digest(); 15 String signature = ""; 16 for (final byte b : digest) { 17 signature += String.format("%02x", b); 18 } 19 System.out.println(signature); 20 return; 21 22 }
C#:
1 static void Main(string[] args) 2 { 3 string token = "31a4a1aa-cffc-4aca-9ef6-0497edf7fbed"; 4 string nonce = "Rzem0rlz19e6GZuZuFKyDzaxiS4baaqn8uvxVnntXKS"; 5 string timestamp = "1646790230854428120"; 6 string dataEncrypt = "abcdefg"; 7 string[] arrayStrs = { token, timestamp, nonce, dataEncrypt}; 8 9 Array.Sort(arrayStrs, string.CompareOrdinal); 10 string sTemp = String.Join("", arrayStrs); 11 12 string AA = testHash(sTemp); 13 Console.WriteLine($"SHA1 :{AA}"); 14 Console.ReadKey(); 15 return; 16 } 17 18 public static string testHash(string sTemp) { 19 byte[] key = System.Text.Encoding.Default.GetBytes(sTemp); 20 SHA1 sha1 = SHA1Managed.Create(); 21 byte[] hash = sha1.ComputeHash(key); 22 string result=""; 23 foreach (byte b in hash) 24 { 25 result += String.Format("{0:x2}", b); 26 } 27 return result; 28 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)