将Base16转换为Base64背后的概念

时间:2017-04-13 01:17:46

标签: base64 hex

我理解如何读取十进制,二进制,十六进制和base64;也就是说,我可以手动将表示为每个基数的数字/计数转换为其他基数中的表达式。

我正在做matasano加密挑战,第一次任务让我思考(https://cryptopals.com/sets/1/challenges/1)。

我发现这个问题的方法是将十六进制字符串转换为字节(二进制),然后将字节转换为base64。我明白了或者我想。我可以简单地连接这些字节并说我有相同数字的binarystring表达式吗?

我注意到他们基本上一次读取十六进制2个十六进制字符(因为2个十六进制字符最多是一个字节)。这导致二进制字符串,其中每个二进制字符(位)与它来自的六进制字符“对齐”。

这是否意味着我可以将这个二进制字符串转换为十进制,它将与十六进制字符串代表的“数字”相同?

是否可以使用类似的逐字符方案转换为base64?每个base64字符有多少个十六进制字符?

1 个答案:

答案 0 :(得分:0)

@Flimzy分享了这个link,它回答我问题的方式是实现两件事:

  • base16是基于八位字节的编码
  • base64是基于六重奏的编码