【问题标题】:is Encryption Class in codeigniter is secure and which cipher they used是 codeigniter 中的加密类是安全的,他们使用了哪个密码
【发布时间】:2017-09-27 06:04:04
【问题描述】:

我在 codeigniter 中使用Encryption ClassEncryption Class Reference。根据这个文档,他们使用了 Mcrypt 库。

根据PHP手册PHP Manual Reference在下面你看到用户贡献的笔记

这个扩展依赖于 libmcrypt,它已经死了,没有维护 2007.

请不要依赖它,考虑切换到维护良好的 替代品(openssl、crypt、密码散列函数、phpseclib、 password_compat...)

我的问题是

  1. 加密类是否安全?
  2. 如果它是安全的,那么我有多依赖它?
  3. 最后他们使用哪种密码来加密或解密? (AES、DES 或三重 DES 等)

我需要您对加密课程的经验或意见。

谢谢

【问题讨论】:

  • CI 已弃用加密类,因此您不必依赖它。 Encryption Class
  • @SaadSuri 你解决了我的第一个问题。是的,我正在使用加密类。 $this->load->library('encrypt');
  • Bilal 阅读此内容以获取密码。 php.net/manual/en/function.password-hash.php
  • @Brad 我知道。我们使用哈希函数作为密码(md5、SH1、SH2 等)。我正在尝试加密一些秘密信息
  • 哈希函数不是md5、sha1或sha2。不要将其用于密码。使用 bcrypt。最好使用加密库,而不是加密类

标签: php codeigniter security encryption


【解决方案1】:

加密类是否安全?

是否安全与您使用它的目的没有关系。如果您想使用 if 作为密码加密,那么我会拒绝。加密密码是不好的做法。你应该散列他们。为此,我建议注意 PHP 手册中的注释并使用 password hashing functions

如果它是安全的,那么我有多依赖它?

我们应该如何知道对此有多少依赖?

最后他们使用哪种密码来加密或解密? (AES、DES 或三重 DES 等)

您链接的文档表明它使用MCRYPT_RIJNDAEL_256 作为默认密码,MCRYPT_MODE_ECB 作为默认模式。

【讨论】:

  • 根据 CI 3 文档,他们使用 AES 128,并且严重依赖 openssl 和 mcrypt。 CI 3 userguide 是的,总是哈希密码不要加密它
  • @SaadSuri 我不知道 OP 使用哪个版本的 Code Igniter。我认为自从他链接了 CI2 的文档后,他们就被困住了。但是感谢您指出这一点。
猜你喜欢
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 2019-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多