【发布时间】:2023-03-26 00:46:01
【问题描述】:
我正在使用三重 DES 算法进行加密。在执行此操作时,我需要传入一个十六进制十进制(32 个字符)密钥。当我将其转换为字节数组时,它以 32 个字节存储。但是算法的输入密钥应该只有 16 个字节。所以我的问题是如何在 16 字节数组中存储 32 个十六进制十进制数字?
【问题讨论】:
-
向我们展示一些你如何做到这一点的代码
标签: c#
我正在使用三重 DES 算法进行加密。在执行此操作时,我需要传入一个十六进制十进制(32 个字符)密钥。当我将其转换为字节数组时,它以 32 个字节存储。但是算法的输入密钥应该只有 16 个字节。所以我的问题是如何在 16 字节数组中存储 32 个十六进制十进制数字?
【问题讨论】:
标签: c#
你所追求的可能和这个扩展方法类似
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 字符块视为十六进制数,并从中获取一个长度为原始长度一半的字节数组。 ..
【讨论】: