Encryption 乔姆拉:什么';准备功能的位置是什么?

Encryption 乔姆拉:什么';准备功能的位置是什么?,encryption,joomla,joomla2.5,Encryption,Joomla,Joomla2.5,我在这里的第一篇帖子,我总是在以前的问题中找到我需要的帮助,谢谢,但是这次我被难住了,所以就这样吧 与这里的人相比,我还是个新手,但我已经开发了joomla 2.5组件,需要以AES加密格式存储数据。 为了保存数据,我在保存数据时覆盖了模型中的prepareTable函数,这非常有效 但是,在将数据加载回用户表单时,解密数据的最佳位置在哪里 对于列表视图,我可以在视图甚至布局中调用我自己的解密函数,这也没关系 但是,当我使用标准的joomla myform.xml实际编辑单个记录时,数据会被未加

我在这里的第一篇帖子,我总是在以前的问题中找到我需要的帮助,谢谢,但是这次我被难住了,所以就这样吧

与这里的人相比,我还是个新手,但我已经开发了joomla 2.5组件,需要以AES加密格式存储数据。 为了保存数据,我在保存数据时覆盖了模型中的prepareTable函数,这非常有效

但是,在将数据加载回用户表单时,解密数据的最佳位置在哪里

对于列表视图,我可以在视图甚至布局中调用我自己的解密函数,这也没关系

但是,当我使用标准的joomla myform.xml实际编辑单个记录时,数据会被未加密地加载到formfields中

我需要重写Joomla的一些内置部分,以便在将数据填充到表单字段之前对其进行解密。 在数据显示在表单中之前,请告知我可以覆盖哪些功能来更改数据。 也许我遗漏了一些显而易见的东西,但我所寻找的与prepareTable相同,只是用于加载数据,而不是保存数据


提前感谢您的帮助。

根据Elin的建议解决

保存数据时,我使用prepareTable覆盖中的php函数加密数据。 然后,为了将数据读回表单,我将JFormField扩展为JFormFieldAes,并在getInput函数中添加解密逻辑

对于自定义选择表单字段,我使用相同的逻辑,但将其放在getOptions函数中


我现在可以加密我选择的任何字段,而不必使用任何数据库加密。最后它又快又简单。

这真的很有趣。我的一个想法是,您可能需要创建自己的字段类型,可能需要将JFormFieldText扩展到JFormFieldAes,并在那里管理其中的一些字段。谢谢Elin,所以看起来我可以在myComponent/site/models/fields中创建自己的字段,并将解密代码放在getOptions函数中。我试试看谢谢你的建议