· 8 years ago · Jan 16, 2018, 12:06 AM
1private static string GenToken(string secret, string str){
2 string token;
3 using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(str)))
4 {
5 using (var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(secret)))
6 {
7 var hash = hmac.ComputeHash(stream);
8 var hashStr = BitConverter.ToString(hash);
9 token = string.Format("{0}.{1}", hashStr.Replace("-", ""), str);
10 }
11 }
12
13 return Convert.ToBase64String(Encoding.UTF8.GetBytes(token));
14 }
15
16secret: 7353388933d07b2a1ef462c9d3f4e8ca
17str: {"userId":"bcf4fc83-291a-11e7-9def-06948e004f29","expires":1516015203090}
18
19OTQyMDk1NTI2Mzc3NDYyRjk1RTYzQzUzNUVCNzg3MDQ1NjlBNDQ5OEM1MTM1N0I2QTQ3REY1OTA5M0Q3MjMzQS57InVzZXJJZCI6ImJjZjRmYzgzLTI5MWEtMTFlNy05ZGVmLTA2OTQ4ZTAwNGYyOSIsImV4cGlyZXMiOjE1MTYwMTUyMDIwOTB9
20
21942095526377462F95E63C535EB78704569A4498C51357B6A47DF59093D7233A
22
23token = "942095526377462F95E63C535EB78704569A4498C51357B6A47DF59093D7233A.{"userId":"bcf4fc83-291a-11e7-9def-06948e004f29","expires":1516015202090}"
24
25try {
26
27
28 Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
29 SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256");
30 sha256_HMAC.init(secret_key);
31
32 String hash = Base64.getEncoder().encodeToString(sha256_HMAC.doFinal(message.getBytes()));
33 System.out.println("ORIGINAL THING: " + hash);
34 }
35 catch (Exception e){
36 System.out.println("Error");
37
38 }