首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

git 哈希值的奇特表示方式

作者 | ntietz.com      译者 | 明明如月

责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

在《深入浅出密码学(Real-World Cryptography)》一书中,有一个引人深思的说法。当谈到为什么哈希值通常用十六进制表示时,作者如此陈述:

有多种方式可以将二进制数据编码成人类可读形式,而最常见的两种编码是十六进制和base64。随着基数的增大,显示二进制字符串所需的空间减少,但终究会达到人类可读字符的极限。

那么,我们何时耗尽人类可读的字符?如果我们使用 ASCII 之外的东西会怎样呢?

我的第一个想法是用表情符号来表示哈希值,以获得更大的人类可读性和区分度高的符号空间。之后,我想出了几个我想尝试的:

表情符号

单词,类似于密码短语

颜色

下面是我某个仓库中最近三次提交,以这些不同方式表示:

十六进制:

表情符号:

单词(选自EFF单词列表):

unburned path scrambled demotion awning outpour echo museum iciness payee perish vending account

ripple wrongly untaken undermine serve handgrip festivity blend bankbook capitol egging outback absolve

naturist tartly engraver haphazard renovate douche guidable tidiness nuttiness catlike unearth pox abdomen

颜色:

就个人而言,从纯视觉角度来看,我最喜欢颜色这一个,但它带来了许多可访问性问题。颜色空间可能需要调整,以便更容易在哈希之间进行视觉区分。我认为将其与哈希本身的十六进制表示相结合可能也是最好的,所以我们在现有表示的基础上增加了另一层,以使事物更容易区分,而不是仅依赖于一种新的表示。

无论如何,这是一个有趣的小实验!虽然这不是我会在真实应用中使用的东西,但探索信息表示的不同方式也很有意思。

这篇文章的代码可以在我的代码仓库中找到。

参考链接

《深入浅出密码学(Real-World Cryptography)》:https://www.manning.com/books/real-world-cryptography

EFF单词列表:https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases

代码仓库:https://git.sr.ht/~ntietz/sketches/tree/main/item/hashes

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OyH03o71PA2jERHZGQw-KV2A0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券