gpt4 book ai didi

sha - 以可逆方式从大整数生成伪自然短语

转载 作者:行者123 更新时间:2023-12-04 19:20:03 44 4
gpt4 key购买 nike

我有一个大而“唯一”的整数(实际上是一个 SHA1 哈希)。

注:当我在这里谈论 SHA1 哈希时,这是 不是 密码学/安全问题!我不是要破坏 SHA1。如果有帮助,想象一个随机的 160 位整数而不是 SHA1。

我想(除了玩乐之外别无他法)找到一种算法来将该 SHA1 哈希映射到计算机生成的(伪)英语短语。映射应该是双向的(即,知道算法,必须能够从该短语计算原始 SHA1 哈希值。)

这句话没有意义。我什至会满足于一整段废话。 (尽管一个段落的质量 - 英语 - 应该比仅仅一个短语更好。)

更好的算法会产生更短、更自然、更独特的短语。

一个变体:如果我只能使用哈希的一部分也可以。说,前六个十六进制数字很好。

生成的短语的可能用法:人类可读版本的 Git 提交 ID,用作给定程序版本的座右铭,该版本是从该提交构建的。 (正如我所说,这是“为了好玩”。我并没有声称这非常实用——或者比 SHA1 本身更具可读性。)

可能的方法:在过去,我试图建立一个概率表(单词),并根据我从 SHA 读取的位,将短语生成为马尔可夫链,为生成器播种(从概率树中挑选分支)。这不是很成功,产生的短语太长太丑了。我不确定这是一个错误,还是算法中的一般缺陷,因为我不得不尽早放弃它。

现在我正在考虑再次尝试解决问题。关于如何解决这个问题的任何建议?你认为马尔可夫链方法可以在这里工作吗?还有什么?

最佳答案

一个非常简单的方法是:
列举 1024 个名词、1024 个动词和 1024 个形容词。您的短语可以是以下形式的句子

noun[bits_01-10] verb[bits11-20] adjective[bits21-30] verb[bits31-40],
noun[bits_41-50] verb[bits51-60] adjective[bits61-70] verb[bits71-80],
noun[bits_81-90] verb[bits91-100] adjective[bits101-110] verb[bits111-120] and
noun[bits_121-130] verb[bits131-140] adjective[bits141-150] verb[bits151-160].

多一点语言思想,你可能可以构建稍微复杂的广告,因此看起来不会那么重复的句子(比如,有点单数/复数,有点两个不同的时态,......)。较长的单词列表会占用更多的位,但我的猜测是您可以很快地找到相当奇特的单词。

关于sha - 以可逆方式从大整数生成伪自然短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4683551/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com