【问题标题】:How to store 32 hex decimal digits in 16 bytes array? [duplicate]如何在 16 字节数组中存储 32 个十六进制十进制数字? [复制]
【发布时间】:2023-03-26 00:46:01
【问题描述】:

我正在使用三重 DES 算法进行加密。在执行此操作时,我需要传入一个十六进制十进制(32 个字符)密钥。当我将其转换为字节数组时,它以 32 个字节存储。但是算法的输入密钥应该只有 16 个字节。所以我的问题是如何在 16 字节数组中存储 32 个十六进制十进制数字?

【问题讨论】:

  • 向我们展示一些你如何做到这一点的代码

标签: c#


【解决方案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 字符块视为十六进制数,并从中获取一个长度为原始长度一半的字节数组。 ..

【讨论】:

  • thnq u jackob.its 工作正常
猜你喜欢
  • 1970-01-01
  • 2015-08-08
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-17
  • 1970-01-01
  • 2014-01-04
相关资源
最近更新 更多