![]() |
1
3
作为 msg
然而,也有可能他们希望得到十六进制编码的数据。给予
如果他们有其他奇怪的格式(Base32Hex?),请随意使用 this RFC 4648 library 对你的信息进行编码。 这不是你问题的答案,但是你和你的API都应该知道。
至少:与您通信的API的开发人员应该停止接受用RSA加密的PKCS v1.5填充的数据,而只接受OAEP密文。 在那里 ways to work around Bleichenbacher's 1998 attack 但是,由于其他原因,RSA加密非常混乱: You can't encrypt large messages directly with RSA . 还有 plenty of other ways RSA can go wrong . 建议更好的解决方案是完全停止使用RSA。 has bindings in most popular programming languages (包含在php7.2内核中)和 makes this easier to get right
无论如何,您都会遇到编码问题(因为这两个api都返回原始二进制字符串)。然而,使用lib钠可以避免很多安全问题,直到你读到这个StackOverflow的答案你才知道。 还有:如果你不知道就不要难过。你并不孤单。甚至Zend框架的密码库 got bit by these RSA vulnerabilities 他们和恩里穆尔在他们的团队里。RSA对于现实世界的密码来说是一个糟糕的选择。 |