我正在尋找一種加密方法來加密字符串。重要的是輸出結果(由于某些原因)。安全性不是很重要,但速度很重要。我正在測試一些算法,就我而言,在輸出結果中沒有像“+”和“=”這樣的字符非常重要。是否可以處理它,如果可以,我可以使用哪種加密算法或方法?
2 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
“+”和“=”的問題是由于加密而擁有的字節數組正在轉換為 Base64 字符串(類似于“=”和“+”)。將其轉換為十六進制字符串(其中所有字符都是 0-9 和 AF)??纯矗?a >如何將字節數組轉換為十六進制字符串,反之亦然?.
至于加密...
在 C# 中加密很容易(看看 System.Security.Cryptography 中的算法)。管理密鑰是棘手的部分。您確實需要在用例中考慮一下。

aluckdog
TA貢獻1847條經驗 獲得超7個贊
如果您將轉義和加密分開,您可以使用您喜歡的任何加密。獲得加密字符串后,您可以使用非常簡單的轉義,例如:
return encrypted.Replace("\"", "\"\"") // \ -> \\
.Replace("+", "\"Plus") // + -> \Plus
.Replace("=", "\"Eq"); // = -> \Eq
在解密之前,您必須取消轉義此結果:
return escaped.Replace("\"Eq", "=")
.Replace("\"Plus", "+")
.Replace("\"\"", "\"");
Whereencrypted和escaped也可以是StringBuilder實例。
- 2 回答
- 0 關注
- 146 瀏覽
添加回答
舉報
0/150
提交
取消