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 }

 

posted @ 2023-07-28 09:40 筱老邪 阅读(377) 评论(0) 推荐(0) 编辑
摘要: C# 需要引用System.Security.Cryptography命名空间 1 /// <summary>AES加密</summary> 2 3 /// <param name="text">明文</param> 4 /// <param name="key">密钥,长度为16的字符串</par 阅读全文
posted @ 2023-07-27 18:19 筱老邪 阅读(486) 评论(0) 推荐(0) 编辑
摘要: Java版本: public void testHash() { String password = "Test"; byte[] key = password.getBytes(); MessageDigest md = MessageDigest.getInstance("SHA-1"); by 阅读全文
posted @ 2023-07-27 18:16 筱老邪 阅读(110) 评论(0) 推荐(0) 编辑
摘要: xml 文件 <?xml version="1.0" encoding="utf-8" ?><root><name value="aaaaaaa"/><price value="50"/></root> //读配置 string uri = Environment.CurrentDirectory 阅读全文
posted @ 2023-06-14 14:04 筱老邪 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 出现rpm: command not found 解决方法:sudo apt-get install alien https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu https://www.cnblogs.com/zzw 阅读全文
posted @ 2022-03-08 23:17 筱老邪 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 线程生命周期 线程生命周期开始于 System.Threading.Thread 类的对象被创建时,结束于线程被终止或完成执行时。 下面列出了线程生命周期中的各种状态: 未启动状态:当线程实例被创建但 Start 方法未被调用时的状况。 就绪状态:当线程准备好运行并等待 CPU 周期时的状况。 不可 阅读全文
posted @ 2022-02-18 21:50 筱老邪 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 1.线程 2.乐观锁和悲观锁 3.TCP挥挥手 HTTP(HyperText Transfer Protocol超文本传输协议),该协议位于OSI模型的应用层,应用层是开放系统的最高层,是程序员能直接操纵的通信层。一次HTTP的请求主要建立在传输层TCP三次握手建立通信和四次分手断开通信的基础上,应 阅读全文
posted @ 2022-02-17 21:05 筱老邪 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 204 No Content 下载的文件没有用户访问权限,需要加EveryOne 阅读全文
posted @ 2021-04-26 10:28 筱老邪 阅读(142) 评论(0) 推荐(0) 编辑
摘要: debug下的 release下的 .csproj文件增加 <Target Name="BeforeBuild"> <TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="Web.c 阅读全文
posted @ 2021-03-30 09:41 筱老邪 阅读(76) 评论(0) 推荐(0) 编辑
摘要: declare @name varchar(50);declare @ALTER varchar(50);SET @ALTER = ' ALTER TABLE ';declare @CONSTRAINT varchar(50);SET @CONSTRAINT = ' ADD CONSTRAINT ' 阅读全文
posted @ 2021-03-26 17:03 筱老邪 阅读(309) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示