Ahm*_*eim 1 c# string special-characters string-conversion
我知道这是一个非常愚蠢的问题,因为我还是新手.
大小写:
字符串A:来自加密算法的输出字符串(包含特殊字符)
字符串B:来自字符串A的哈希函数的输出字符串(包含特殊字符)
String C = A + "|" + B;
Run Code Online (Sandbox Code Playgroud)
问题:
我想将它们从发送方一起发送为字符串C,以便我可以在接收方中将它们分开
但字符串A和B可能包含我的分隔符"|"
那么你对我有什么建议?[ C# ]
一种选择是使用Convert.ToBase64String函数将加密工具的输出(希望返回原始字节)转换为Base64,这应该是安全的"|" 用.你失去了空间效率,因为Base64浪费了大量的空间,但如果你处理的是小数据,你就可以了.
如果您的加密代码确实/不能返回字节,则必须首先使用适当的编码器将其转换为字节,即如果您的字符串是ASCII编码,则使用Encoding.ASCII.GetBytes().
//On the sender side
byte[] bytesA = Encoding.Default.GetBytes(A);
byte[] bytesB = Encoding.Default.GetBytes(B);
string encA = Convert.ToBase64String(bytesA);
string encB = Convert.ToBase64String(bytesB);
string C = encA + "|" + encB;
//On the receiver side
string[] parts = C.Split('|');
string A = Encoding.Default.GetString(Convert.FromBase64String(parts[0]));
string B = Encoding.Default.GetString(Convert.FromBase64String(parts[1]));
Run Code Online (Sandbox Code Playgroud)