Fez*_*sta 0 encryption algorithm
我正在寻找一种或多种加密算法,可以加密密码,加密文本必须是人类可读的.
例如,如果我给出密码:
StackOverflow
Run Code Online (Sandbox Code Playgroud)
算法应该给我:
G0aThiR4i s0ieFer
Run Code Online (Sandbox Code Playgroud)
所以我希望人们可以轻松读取加密密码(不是带有特殊字符或数千个字符的奇怪字符串).
有适合这种需求的算法吗?
ark*_*tom 11
RFC 1751,定义了"人类可读的128位密钥约定" - 基本上只是将位块映射到英文单词串.
例如,128位密钥:
CCAC 2AED 5910 56BE 4F90 FD44 1C53 4766
Run Code Online (Sandbox Code Playgroud)
会成为
RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE
Run Code Online (Sandbox Code Playgroud)
算法用于固定长度的128位密钥,这是数据大小的基础.可以截断或扩展源数据以匹配基础.
C @ http://tools.ietf.org/html/rfc1751中的规范和实现
它并不为人所知.我找不到实现提及除了一个在规范和引用丢失的python库.
你的问题在很多方面使我感到困惑,导致了从基础16哈希结果创建一个完全人类可读的段落的大胆想法.什么比英语句子更可读?
为了保持散列密码的安全性,算法如下:
例如,如果此Base16哈希是输入:
c0143d440bd61b33a65bfa31ac35fe525f7b625f10cd53b7cac8824d02b61dfc
Run Code Online (Sandbox Code Playgroud)
HashViewer的输出是这样的:
烟雾喜欢狗.日志发现积压.日志吞食青蛙.Grogs斩首障碍物和狗概念化雾.木头迎接木.. Cogs概念化疣猪.尽管沼泽挤压了雾,但博格斯仍然发掘了狗.Cogs光顾目录.Cogs玩弄齿轮.疣猪使酒糟透了; 不幸的是,木cl玩弄齿轮.疣猪讨厌青蛙; 相反,烟雾斩首齿轮.雾概念化balrogs.每当polywogs与蛋酒搭配时,烟雾就会迎面而来.原木斩断青蛙.木槿概念化木.. 狗斩首疣猪.(烟雾)
(括号中的最后一个单词是遗留下来的单词)
在这个光荣的段落形式中,我们可以查看两个单独的哈希值,并轻松地比较它们以查看它们是否不同.
作为一项额外功能,有一个函数可以将英文文本转换回哈希字符串.
请享用!