ruby - 如何加密文本

时间:2010-02-03 15:14:55

标签: ruby-on-rails ruby encryption cryptography

我需要加密一个字符串(来自文本区域),该字符串稍后在显示时也会被解密。

我不担心它主要是安全的,但只是不想以纯文本格式存储数据。

有没有人对如何在Rails中轻松完成这项工作有任何建议?

4 个答案:

答案 0 :(得分:20)

有一个名为Crypt的RubyGem,它提供了许多加密算法的纯Ruby实现。

答案 1 :(得分:16)

gem install encryptor

它包装了标准的Ruby OpenSSL库,允许您使用它的任何算法。

http://github.com/shuber/encryptor

答案 2 :(得分:14)

Ruby / Rails中是否存在ROT13实现(必须有...),除了人类读者(和白痴学者)之外,它们完全不安全,所以似乎适合您的用例。

编辑 - 这是交换字符的良好开端:

$_.tr! "A-Za-z", "N-ZA-Mn-za-m";

它要求用户输入然后交换字符。

编辑如果您不熟悉,ROT13会为每个字母指定其自然数。 A = 1,B = 2等。然后它为每个数字加13,有效地将它旋转到字母表的中间。中途位很好,因为与ROT12不同,你可以再次运行ROT13进行解码。两者的一个功能。 OR 你可以运行ROT12 13次我想(12 * 13 = 156. 156/26 = 6)。虽然ROT 13对此更好。

答案 3 :(得分:-26)

如果您不关心安全性,可以对字符串进行base64编码:

encoded = Base64::encode(string)
decoded = Base64::decode(encoded)

顺便说一下,它也适合编码二进制数据。

这不是真正的加密,因为任何开发人员甚至可能会猜测其Base64编码数据。