所以我现在正在实施加密算法。 我需要将数据转换为字节,然后将其拆分为64位。我是通过使用BitConverter来实现的 但有时我不会在消息的末尾有8个字节,我想知道如何将少于8个字节转换为ulong。
有没有办法使用BitConverter?我尝试移动字节,但它太复杂了,因为我不知道确切的字节数。
答案 0 :(得分:2)
使用 0s 填充字节数组,直到它符合所需的大小。
byte[] bytes = new byte[255]{ 0x1F, 0x1A, 0x1B, 0x2C, 0x3C, 0x6D, 0x1E }; //7 bytes
while(bytes.length < 8){
bytes.Concat(new byte[] { 0x00 });
}
long res = BitConverter.ToUInt64(bytes, 0);
参考: