如何在16字节数组中存储32位十六进制十进制数字?

时间:2016-03-21 13:33:30

标签: c#

我正在使用Triple DES算法进行加密。虽然这样做我需要传入十六进制十进制(32个字符)键。当我将其转换为字节数组时,它将以32个字节存储。但算法的输入键应该只有16个字节。所以我的问题是如何在16字节数组中存储32个十六进制十进制数字?

1 个答案:

答案 0 :(得分:1)

你所追求的可能类似于这种扩展方法

public static byte[] HexToByteArray(this string hex)
    {
        hex = hex.Replace(" ", "").Replace("-", "");

        var numberChars = hex.Length;
        var bytes = new byte[numberChars / 2];
        for (var i = 0; i < numberChars; i += 2)
            bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
        return bytes;
    }

你有一个类似于“A123FF25”的字符串,并且你希望将该字符串中的每个2-char块视为十六进制数,并从中获取一个字节数组,该数组是原始字符串长度的一半。 ..