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 }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章