这是64位编码吗?

时间:2011-08-10 04:43:22

标签: c# encryption

我们的用户数据库中的所有密码都是这样的,我们最后有==:

91F2FSEYrFOcabeHK / UfNw ==

那我怎么知道这是64位编码呢?它必须是因为我可以使用我有的64位解码程序进行解码。

我现在正在尝试弄清楚如何将文字字符串解码为64位...回到xxxxxxxx ==这里是我的代码:

string passwordToEncrypt = "test";
byte[] passwordToBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(passwordToEncrypt);
result = Convert.ToBase64String(passwordToBytes);

更新:

我需要在Base64中使用==结束文本测试。

2 个答案:

答案 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结尾,它只会以一个或两个结尾=如果需要将字符串填充到适当的长度。有关详细信息,请查看以下链接

Padding