Java代码:

1 KeyGenerator aesGen = KeyGenerator.getInstance("AES");
2 SecureRandom secureRadmon= new SecureRandom().getInstance("SHA1PRNG");
3 secureRadmon.setSeed(aesKey.getBytes());
4 aesGen.init(128,secureRadmon);
5 SecretKey secretKey =aesGen.generateKey();

.Net(C#)代码:

1 byte[] keyArray = null;
2 using (var sha1 = new SHA1CryptoServiceProvider())
3 {
4     byte[] hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(aesKey));
5     var rd = sha1.ComputeHash(hash);
6     keyArray = rd.Take(16).ToArray();
7 }

------------------附对应的AES/ECB/PKCS5Padding加密-----------------------

 1 private static string encryptAES(string keyStr)
 2 {
 3 byte[] plainText = System.Text.Encoding.UTF8.GetBytes(keyStr);
 4 Base64Encoder encoder = new Base64Encoder();
 5 RijndaelManaged AesCipher = new RijndaelManaged();
 6 AesCipher.KeySize = 128; // 192, 256
 7 AesCipher.BlockSize = 128;
 8 AesCipher.Mode = CipherMode.ECB;
 9 AesCipher.Padding = PaddingMode.PKCS7; 
10 //AesCipher.IV = keyArray;
11 //AesCipher.Key = keyArray;
12 ICryptoTransform crypto = AesCipher.CreateEncryptor();
13 byte[] cipherText = crypto.TransformFinalBlock(plainText, 0, plainText.Length);
14 string aesBase64 = Regex.Replace(encoder.GetEncoded(cipherText), @"[\r\n]+", "");
15 return aesBase64;
16 }
View Code

相关文章:

  • 2022-01-29
  • 2021-08-11
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-09
  • 2021-11-25
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
相关资源
相似解决方案