0
我希望采用类似“abcd-efgh”的字符串并执行非对称加密,以便在以十六进制格式导出时,生成的字符串本身相当短 - 大约20个字符。如何使用OpenSSL将短字符串加密为另一个短字符串
我意识到,当然,这不会很安全。这对于使用案例来说不是问题。
加密的字符串需要在PHP中生成并在桌面应用程序中解密,因此使用OpenSSL会很有用。
我试过用2048位RSA密钥使用openssl_private_encrypt,但结果很长。
任何人都可以帮忙吗?
你可以查看'教科书RSA',它没有填充和确定性。尝试将C'EVP_PKEY_CTX_set_rsa_padding'的一些PHP等效设置为'RSA_NO_PADDING'。 –
那么,你可以使用一个较短的键(80位),没有任何填充,但这并没有任何安全性。某些库会阻止您创建短于512甚至1024位的密钥。我不知道openssl是否会支持这一点。另外,如果您希望公钥为* public *,则不应将'openssl_private_encrypt'用于加密。 –
不要问你认为什么是最好的解决方案,而是要解释真正的问题并询问最好的解决方案是什么。 – erickson