我有一个 node.js 服务器,它将加密字符串并将其存储到数据库中。我还有一个 RoR(Ruby on Rails)服务器,它将从数据库中检索加密的字符串并解密它。我唯一的标准是加密只能将字符串加密为字母和数字组成的字符串(无特殊字符)
任何建议
最佳答案
正如其他人所建议的,AES-CBC 或 AES-CTR 等强加密与 Base-64 一起是一种解决方案。除了 62 个字母数字字符之外,Base-64 还使用 +、/和 =。十六进制(Base-16)严格来说是字母数字,但会占用更多存储空间。与 Base-64 一样,Base-32 仅具有填充字符 =。在紧要关头,可以省略填充,并重新计算以进行解码。
如果您愿意接受较低级别的安全性,那么另一种选择是使用 Vigenère cypher ,您可以在其中明确确定允许的输入和输出字符。
关于ruby-on-rails - 适用于 Ruby 和 Node.JS 的 2 路加密算法,仅加密字母和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12011289/