700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > .NET对JAVA进行AES加密(SHA1PRNG)及解密方法

.NET对JAVA进行AES加密(SHA1PRNG)及解密方法

时间:2022-06-14 00:08:18

相关推荐

.NET对JAVA进行AES加密(SHA1PRNG)及解密方法

第一步:生成对应JAVA AES加密方法的KEY值

private static byte[] encryptJavaAes(string aesKey)

{

byte[] keyArray = null;

using (var sha1 = new SHA1CryptoServiceProvider())

{

byte[] hash = puteHash(Encoding.UTF8.GetBytes(aesKey));

var rd = puteHash(hash);

keyArray = rd.Take(16).ToArray();

/* 将字节流转换成字符串输出

Base64Encoder coder = new Base64Encoder();

coder.GetEncoded(keyArray);

* */

}

return keyArray;

}

第二步:加密对应的字符串

/// <summary>

/// .NET对JAVA进行AES加密

/// </summary>

/// <param name="encryptString">需要加密的字符串</param>

/// <returns></returns>

private static string AESEncode(string encryptString)

{

if (string.IsNullOrEmpty(encryptString)) return null;

Byte[] toEncryptArray = Encoding.UTF8.GetBytes(encryptString);

RijndaelManaged rm = new RijndaelManaged

{

Key = encryptJavaAes("DCS"),//Convert.FromBase64String(encryptKey),

Mode = CipherMode.ECB,

Padding = PaddingMode.PKCS7

};

ICryptoTransform cTransform = rm.CreateEncryptor();

Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

return Convert.ToBase64String(resultArray, 0, resultArray.Length);

}

第三步:解密加密的字符串

/// <summary>

/// 解密加密的字符串

/// </summary>

/// <param name="toDecrypt">需要解密的字符串</param>

/// <returns></returns>

private static string decrypt(string toDecrypt)

{

string aeskey = System.Configuration.ConfigurationManager.AppSettings["aeskey"];

byte[] keyArray = encryptJavaAes(“DCS”);//Convert.FromBase64String(key);

byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);

RijndaelManaged rDel = new RijndaelManaged();

rDel.Key = keyArray;

rDel.Mode = CipherMode.ECB; //必须设置为ECB

rDel.Padding = PaddingMode.PKCS7; //必须设置为PKCS7

ICryptoTransform cTransform = rDel.CreateDecryptor();

byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

return UTF8Encoding.UTF8.GetString(resultArray);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。