我正在尝试加密/解密要在查询字符串中使用的数据。
大多数情况下,加密的数据以“相等”符号“=”结尾。
下面是一些加密字符串的示例
1 - LS07D43u6Hs=
2 - oHPgq6hz0A0=
3 - 4ugeuARQvXw=
abc - gZfrQVAk9Ic=
encode me - RfSQYXX1P4MU7LhMsfsG8w==我抄袭了这里的密码,做了一点改动。
http://www.deltasblog.co.uk/code-snippets/basic-encryptiondecryption-c/
byte[] inputArray = UTF8Encoding.UTF8.GetBytes("encode me");
TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider();
tripleDES.Key = UTF8Encoding.UTF8.GetBytes("abcd123456Idlaaz");
tripleDES.Mode = CipherMode.ECB;
tripleDES.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = tripleDES.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(inputArray, 0, inputArray.Length);
tripleDES.Clear();
Response.Write(Convert.ToBase64String(resultArray, 0, resultArray.Length)); 我试着改变钥匙,PaddingMode,CipherMode,但是没有运气。它总是在结尾处返回。请帮帮我。
发布于 2013-10-30 09:32:29
结尾的等号不是由封闭的阿尔戈产生的。
在创建基64编码字符串时,这是一个标准的过程。您可以在Why does a base64 encoded string have an = sign at the end上找到更多信息。
另外,这个结束机制在这里很好地解释了http://en.wikipedia.org/wiki/Base64
https://stackoverflow.com/questions/19678435
复制相似问题