Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 适用于Ruby和;仅加密为字母和数字的Node.JS_Ruby On Rails_Node.js_Encryption_Aes - Fatal编程技术网

Ruby on rails 适用于Ruby和;仅加密为字母和数字的Node.JS

Ruby on rails 适用于Ruby和;仅加密为字母和数字的Node.JS,ruby-on-rails,node.js,encryption,aes,Ruby On Rails,Node.js,Encryption,Aes,我有一个node.js服务器,它将加密字符串并将其存储到数据库中。我还有一个RoR(RubyonRails)服务器,它将从数据库中检索加密字符串并对其解密。我唯一的标准是加密必须只将字符串加密为字母和数字字符串(无特殊字符) 任何建议正如其他人所建议的,像AES-CBC或AES-CTR这样的强加密以及Base-64是一种解决方案。Base-64除了使用62个字母数字字符外,还使用+、/和=。十六进制(Base-16)是严格的字母数字,但需要更多的存储空间。Base-32与Base-64一样,只有

我有一个node.js服务器,它将加密字符串并将其存储到数据库中。我还有一个RoR(RubyonRails)服务器,它将从数据库中检索加密字符串并对其解密。我唯一的标准是加密必须只将字符串加密为字母和数字字符串(无特殊字符)


任何建议

正如其他人所建议的,像AES-CBC或AES-CTR这样的强加密以及Base-64是一种解决方案。Base-64除了使用62个字母数字字符外,还使用+、/和=。十六进制(Base-16)是严格的字母数字,但需要更多的存储空间。Base-32与Base-64一样,只有填充字符=。在紧急情况下,可以省略填充,并重新计算以进行解码


如果您希望接受较低级别的安全性,那么另一种选择是使用,您可以显式地确定允许的输入和输出字符

正如其他人所建议的,像AES-CBC或AES-CTR这样的强加密以及Base-64是一种解决方案。Base-64除了使用62个字母数字字符外,还使用+、/和=。十六进制(Base-16)是严格的字母数字,但需要更多的存储空间。Base-32与Base-64一样,只有填充字符=。在紧急情况下,可以省略填充,并重新计算以进行解码


如果您希望接受较低级别的安全性,那么另一种选择是使用,您可以显式地确定允许的输入和输出字符

加密产生字节,而不是字符串。您可以使用来表示任意字节,这样就消除了结果字符串中的大多数“特殊字符”。@MattBall您应该回答您的注释。@MattBall您能为node和ruby提供一个加密库来帮助我完成任务吗?对不起,不知道-我不做ruby。尝试Blowfish实现。AES(使用适当的链接模式和IV)与Base64一起应该可以完成这项工作。加密生成字节,而不是字符串。您可以使用来表示任意字节,这样就消除了结果字符串中的大多数“特殊字符”。@MattBall您应该回答您的注释。@MattBall您能为node和ruby提供一个加密库来帮助我完成任务吗?对不起,不知道-我不做ruby。尝试Blowfish实现。AES(使用适当的链接模式和IV)与Base64一起应该可以完成这项工作。