我们的用户数据库中的所有密码都是这样的,我们最后有==:
91F2FSEYrFOcabeHK / UfNw ==
那我怎么知道这是64位编码呢?它必须是因为我可以使用我有的64位解码程序进行解码。
我现在正在尝试弄清楚如何将文字字符串解码为64位...回到xxxxxxxx ==这里是我的代码:
string passwordToEncrypt = "test";
byte[] passwordToBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(passwordToEncrypt);
result = Convert.ToBase64String(passwordToBytes);
更新:
我需要在Base64中使用==结束文本测试。
答案 0 :(得分:1)
你有一个拼写错误 - 所以上面的代码没有编译,请尝试
string passwordToEncrypte = "test";
byte[] passwordToBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(passwordToEncrypte);
string result = Convert.ToBase64String(passwordToBytes);
result
现在包含一个“Base64”编码密码,以“==”结尾......
但上述代码仅适用于包含ASCII
的密码...如果您希望密码使用UTF8
密码,请将其更改为:
string passwordToEncrypte = "test";
byte[] passwordToBytes = Encoding.UTF8.GetBytes(passwordToEncrypte);
string result = Convert.ToBase64String(passwordToBytes);
从Base64返回原来需要做的事情:
string Original = Encoding.UTF8.GetString (Convert.FromBase64String(result));
见http://msdn.microsoft.com/en-us/library/86hf4sb8.aspx
和http://msdn.microsoft.com/en-us/library/system.convert.tobase64string.aspx
和http://msdn.microsoft.com/en-us/library/system.convert.frombase64string.aspx
答案 1 :(得分:0)
Base64编码的字符串并不总是以a结尾,它只会以一个或两个结尾=如果需要将字符串填充到适当的长度。有关详细信息,请查看以下链接