0

我有一个名为 Encryption 的模型,它生成一个 AES 加密字符串并将其保存到一个名为加密的数据库表中。我的加密表架构如下:

id : bigint unsigned
user_id : bigint unsigned
encryption : VARCHAR(128) (utf8_unicode_ci)
created_at : datetime
updated_at : datetime

但是,当我在我的加密模型实例上调用 .save 时,encryption.encryption (在数据库中)的值为空白('')。

以下是模型的内容:

ruby-1.9.2-head :005 > encryption
 => #<Encryption id: nil, user_id: 1, encryption: "\xD6\xD6\x95\x15\x0F\x92\xC6\x01\x86\x1E\x88\xD1\xB0\x1D\xE0\xEC", created_at: nil, updated_at: nil> 

如您所见,它确实在模型中具有价值。关于为什么该字段在数据库中保存为空白的任何想法?

4

2 回答 2

3

我正在使用保险箱 gem 来做类似的事情,它要求的列类型是:binary,而不是文本,也许你可以试试……

于 2011-06-09T14:58:37.473 回答
1

您似乎将一个字符串保存到一个 bigint 列中,这不起作用。将其切换为文本列类型。

于 2011-06-09T14:21:31.233 回答