【发布时间】:2013-08-22 23:02:15
【问题描述】:
啊,遗留应用的乐趣。
我正在将旧的 Kohana 3 PHP 应用程序迁移到 Ruby/Rails。一个字段已存储在数据库中,使用 Kohana 的“加密”模块加密。 http://kohanaframework.org/3.0/guide/api/Kohana_Encrypt
迁移数据时,我需要解密这些值,然后使用其他东西重新加密它们。
但是,我的 Mcrypt 知识为零,我似乎无法解密它。
我知道的:
- Kohana 设置为使用 -- 密码:MCRYPT_RIJNDAEL_128,模式:MCRYPT_MODE_NOFB,我有密钥
- Kohana base64 在存储前对数据进行编码
- 我在任何地方都找不到初始化向量。看起来 Kohana 对每条数据都使用了自定义 IV?
- 我有一个用于 Mcrypt 的 Ruby gem。 https://github.com/kingpong/ruby-mcrypt 它需要第二个参数 - “cbc” 是给出的示例。不知道这是做什么用的,也不知道在这个遗留的 Kohana 项目中哪里可以找到这些信息。
关于如何解密这些数据有什么想法吗?我是否拥有我需要的所有信息?我有点迷茫……
提前致谢。
【问题讨论】:
-
在decode 函数中,iv 被定义为
$iv = substr($data, 0, $this->_iv_size);。那么为什么不直接使用 Kohanas Encrypt 类并将其用于解密呢? ;) 或者如果你已经尝试过了,你会得到什么错误?