【问题标题】:Cakephp - how to encrypt and then decrypt data that is being stored and retrieved from the databaseCakephp - 如何加密然后解密正在存储和从数据库中检索的数据
【发布时间】:2023-12-24 07:31:01
【问题描述】:

Err....就像问题所说的那样。

如何加密然后解密从数据库中存储和检索的数据。

顺便说一句,它不仅用于存储已 md5ed 的密码,我还需要检索数据。

谢谢!

【问题讨论】:

    标签: php security cakephp encryption md5


    【解决方案1】:

    我会在模型中的各种 before 方法中执行此操作,或者最好还是在我的应用控制器中创建一个 before 方法来加密和解密数据。

    afterFind(); //decrypt
    beforeSave(); //encrypt
    

    将是我会选择的方法。

    PS,我也应该在这里提到行为,因为这是实现这种事情的理想“蛋糕方式”,http://book.cakephp.org/view/595/Creating-Behaviors

    【讨论】:

    • 澄清一下,虽然 afterFind/beforeSave 是正确的方法,但如果您计划在多个模型中重用此功能,您只需要将代码捆绑到一个行为中。
    【解决方案2】:

    cakephp 中有几篇文章可以自动或手动存储和检索表字段的加密/解密值

    看看

    http://bakery.cakephp.org/articles/xemle/2008/08/26/cipher-behavior

    http://bakery.cakephp.org/articles/utoxin/2009/08/01/cryptable-behavior

    通过这些方式,您可以自定义要加密数据的字段以及解密方式。你的 php 中需要 MCRYPT 模块

    【讨论】:

      最近更新 更多