php - php 中的 RSA 令人困惑

标签 php encryption cryptography openssl rsa

我正在 php 中搜索 RSA。在 php 中使用 RSA 加密/解密文本,在这个站点中我找到了我在搜索的内容: Encrypt and Decrypt text with RSA in PHP

但是第一个和第二个答案不同!第一个答案是一个库(外部文件),但第二个答案是一个内置命令 openssl_public_encrypt(); .

那么库(外部文件)和 openssl_public_encrypt() 有什么不同? 。 因为库(外部文件)可以用RSA加密,而且只能用RSA加密,但是第二个是openssl! 我不明白 openssl 与 RSA 在做什么!

最佳答案

两者PHP OpenSSLphpseclib是图书馆。当然,PHP 的 OpenSSL 库总是使用用 C 编写的外部库。使用 phpseclib,您似乎可以选择使用 PHP 代码或 OpenSSL 外部库(在稍微查看了 1615903 提供的源代码之后)。

请注意,OpenSSL 是一个广泛的项目,包含 SSL 的实现(例如,由 Apache Web 服务器的 mod_ssl 模块使用)、一个相当通用的加密库,支持 PKI 和 CMS 以及使用的命令行这些功能。所以也许这就是让你感到困惑的地方;本项目使用 OpenSSL 作为加密库,它不是通过命令行界面调用的。

OpenSSL 是一个被广泛使用的库(您可能希望获得比它实际提供的更好的安全性)。对于加密操作,C 代码比 PHP 代码快得多;大多数脚本语言不太适合加密操作。

关于php - php 中的 RSA 令人困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27719196/

相关文章:

java - 如何实现 CryptoSystem 、 PublicKey 接口(interface)

php - 验证从 Python 客户端请求获取的 PHP 中的 CA 文件

php - 有没有办法让 VS code 模仿 Dreamweaver 使用 PHP 显示数据库结果的简单方法

php - 分成几个字符并将它们包含在部分中

php - 语法错误或访问冲突 : 1064 - PDO refuses to execute multiple queries (including CREATE TEMPORARY TABLE)

android - DexGuard:如何指定字符串加密

python - pycrypto 不会为 AES(CFB 模式)复制 NIST 测试向量

ios - 使用 AES 进行部分加密 - IOS 应用程序

java - cipher.getInstance() 的 DESede 和 TripleDES 之间的区别

cryptography - MD5 有哪些漏洞,如何补救?