0

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

私はstrongboxgemを使用して同様のことを行っていますが:binary、テキストではなく列タイプを要求しました。おそらくそれを試すことができます...

于 2011-06-09T14:58:37.473 に答える
1

文字列をbigint列に保存しているようですが、機能しません。テキスト列タイプに切り替えます。

于 2011-06-09T14:21:31.233 に答える