小编ash*_*vey的帖子

如何在字符串和byte []之间进行转换而不会丢失完整性

我知道如何在C#中将字符串转换为byte [].在这种特殊情况下,我正在使用HMAC-SHA256密钥的字符串表示.假设我从OpenID OP得到的这个密钥的字符串表示是:

"81FNybKWfcM539vVGtJrXRmoVMxNmZHY3OgUro8+pZ8="
Run Code Online (Sandbox Code Playgroud)

我将它转换为byte [],如下所示:

byte[] myByteArr = Encoding.UTF8.GetBytes("81FNybKWfcM539vVGtJrXRmoVMxNmZHY3OgUro8+pZ8=");
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是它似乎丢失了原始数据.如果我从上一步获取字节数组并将其转换回字符串,则它与原始字符串不同.

string check = Convert.ToBase64String(myByteArr);
Run Code Online (Sandbox Code Playgroud)

检查最终是:

"ODFGTnliS1dmY001Mzl2Vkd0SnJYUm1vVk14Tm1aSFkzT2dVcm84K3BaOD0="
Run Code Online (Sandbox Code Playgroud)

这显然与我开始使用的原始字符串表示不同.

c# openid

5
推荐指数
1
解决办法
2829
查看次数

标签 统计

c# ×1

openid ×1