當創建一個加密的字符串:有沒有辦法讓DESCryptoServiceProvider不使用加號等特殊字符?
using(var cryptoProvider = new DESCryptoServiceProvider())
{
cryptoProvider.Key = Convert.FromBase64String(Key);
cryptoProvider.IV = Convert.FromBase64String(Key);
var encryptedString = cryptoProvider
.CreateEncryptor()
.TransformFinalBlock(serializedBytes, 0, serializedBytes.Length);
return Convert.ToBase64String(encryptedString);
反正是有使用某些字符停止嗎?實際導致問題的字符是「+」號。當asp.net解碼並且(例如)+號變成空格時,問題就很明顯了。
可能會有其他字符會陷入同一問題,但+符號似乎是我遇到的唯一一個問題。有沒有辦法讓加密使用某個字符,或者在加密邏輯中防止這種加密?
我已經走了Url.Encode的路線已經導致我回到根源更多的管理頭痛的輸出。如果我想在+上進行替換,我可以使用什麼字符替代生成的輸出,我需要重新替換它,這不會自動導致相同的URL解碼問題? – pghtech