gpt4 book ai didi

php - 如何在 Codeigniter RSA 库中生成签名和 key

转载 作者:可可西里 更新时间:2023-10-31 23:51:28 24 4
gpt4 key购买 nike

我正在使用 codeigniter 框架在 php 中进行一些加密和解密。我正在使用这个库 https://github.com/Dirktheman/rsa-codeigniter-library .我想要做的是生成这样的签名 encrypt_method(value,private_key)

这将返回签名。然后我想验证等于先前值的值或不解密(签名,previous_input,public_key)。我的问题是没有生成私钥和公钥的方法。也用于生成签名。那么,如何在 PHP 中使用 RSA 库来实现它呢?

最佳答案

不要使用那个库。这是完全不安全的。

安全的 RSA 实现依赖于使用随机生成的质数(例如,至少 2048 位!)作为​​私钥的一部分。然而,这个库不使用大素数,甚至不随机生成它们 — it picks them from an array of 570 pregenerated four-digit numbers .这意味着只能生成大约 162,000(570 * 569 ÷ 2)个可能的 key ;这足够少,您可以轻松生成所有可能的公钥和私钥对的列表。

此外,该库以不适当的方式使用 RSA。它通过将每组三个字母加密为单独的独立消息来“加密”和“解密”消息。这种方案是不安全的,因为可以编辑和重新排序各个 block 以创建新消息。 (例如,一条内容为 SEND JO $123 的加密消息可以通过重复最后一个 block 轻松地编辑为 SEND JO $123123!)更糟糕的是,如果一条消息的内容是已知的,可以从另一条消息中的第一条消息中搜索 block 以恢复其部分内容。

关于php - 如何在 Codeigniter RSA 库中生成签名和 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33593140/

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