作者:白羊幸福的佳佳 | 来源:互联网 | 2023-09-23 19:25
导读:本篇文章编程笔记来给大家介绍有关php时间用什么加密的相关内容,希望对大家有所帮助,一起来看看吧。
本文目录一览:
1、PHP 加密扩展 php-beast 的使用
2、用php将密码存入数据库,用什么方法进行加密?
3、如何对PHP文件进行加密
4、php pki加密技术(openssl)详解
PHP 加密扩展 php-beast 的使用
安装完 php-beast 后可以使用 tools 目录下的 encode_files.php 来加密你的项目。使用 encode_files.php 之前先修改 tools 目录下的 configure.ini 文件,如下:
src_path 是要加密项目的路径,
dst_path 是保存加密后项目的路径,
expire 是设置项目可使用的时间 (expire 的格式是:YYYY-mm-dd HH:ii:ss)。
encrypt_type是加密的方式,选择项有: DES、AES、BASE64 。
修改完 configure.ini 文件后就可以使用命令 php encode_files.php 开始加密项目。
附上例子:将demo项目全部加密到新的demo2
使用 beast_encode_file() 函数加密文件,函数原型如下:
beast_encode_file(string $input_file, string $output_file, int expire_timestamp, int encrypt_type)
例子:
beast_encode_file('index2.php','index3.php','1656518400',BEAST_ENCRYPT_TYPE_AES);
想要更深入了解的话可以看官方文档
参考文章:
用php将密码存入数据库,用什么方法进行加密?
题主你可以使用 md5 或者 sha1 进行初步处理,但为了更加安全,请你同时加上两个 salt,一个静态 salt,一个动态的 salt。以 md5 为例:\x0d\x0a假设通过 POST 传来的密码为 $_POST['password'],在存入 DB 前先进行如下的操作:\x0d\x0a$password = hash('md5', $_POST['password'].$staticSalt.$dynamicSalt);\x0d\x0a\x0d\x0a为了保证动态 salt 的唯一性,可以这样操作:\x0d\x0a$dynamicSalt = hash('md5', microtime());\x0d\x0a\x0d\x0a对于动态的 salt 可以与生成的密码一起保存在 DB 中,而静态 salt 则可以直接放在类文件中(例如定义为一个静态属性即可)。\x0d\x0a首先谢谢题主采纳了我的答案,但是我之前的回答并不是最佳答案,之所以有此加密的想法源于自己所读的源码可能比较老,所以并没使用上较新版本的加密方法,例如 bcrypt等。\x0d\x0a此外,第二点,感谢评论中几位前辈的提点,已经明白设置静态 salt 的意义并不大,生成一个较长的动态 salt 已然可以解决问题。\x0d\x0a\x0d\x0aLZ应该采用加盐HASH。\x0d\x0a如何“腌制”密码呢?\x0d\x0a=_,=\x0d\x0a正确的格式应该是,用户password+动态的salt\x0d\x0a动态的salt不能像2L所说的,使用microtime,因为时间在某些情况下不够随机,而且是可能被猜解的。\x0d\x0a这里推荐一个我用的加盐HASH\x0d\x0a$salt=base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_RANDOM));\x0d\x0a$password=sha1($register_password.$salt);\x0d\x0a\x0d\x0a解释:\x0d\x0a首先使用mcrypt,产生电脑随机生成的,专门用户加密的随机数函数。\x0d\x0a第二步,把得到的随机数通过base64加密,使其变长并且不利于猜解。\x0d\x0a第三步,把得出的盐拼接到密码的后面,再对其使用sha1进行哈希\x0d\x0a再把password存入到用户的数据库。\x0d\x0aPS:为何不用静态的salt?没有必要,使用一个动态随机足够长的盐足矣。\x0d\x0a为何不用MD5?因为长度不够。\x0d\x0a为何没有使用多次HASH?因为这样反而容易发生碰撞。\x0d\x0aHASH好之后怎么使用“腌制”好的密码?\x0d\x0a用户注册-提交密码-产生salt-腌制好的密码存入数据库-salt存入数据库。\x0d\x0a用户登录-提交密码-调用salt接到提交密码的后面-进行HASH-调用之前注册腌制好的密码-对比HASH值是否和这个密码相同
如何对PHP文件进行加密
可以使用超级加密3000这款软件试一下,操作比较简单,加密后的数据安全性也比较高
1、下载安装超级加密3000这款软件
2、在需要加密的文件上面右键单击,选择“超级加密”
3.然后在弹出的密码输入窗口中输入需要设置的密码,然后点击“确定”
这样的话,一个文件就加密完成了,如果需要对文件夹进行加密的话,加密方法也是一样的哦
php pki加密技术(openssl)详解
本篇文章是对php中的pki加密技术(openssl)进行了详细的分析介绍 需要的朋友参考下 代码如下: ?php //pki加密 //使用pki加密需要开启 openssl扩展 //php ini extension = php_openssl dll扩展 /*pki模式是 * 公钥加密 私钥解密 * 私钥加密 公钥解密 */ //私钥加密 公钥解密 //客户端 //$data数据 $data = abcd ; //获取私钥 $priv_key_id $priv_key_id = openssl_get_privatekey(file_get_contents( bill rsa pem r)); //获取公钥 $pub_key_id $pub_key_id = openssl_get_publickey(file_get_contents( bill rsa cer r)); //$data首选通过SHA 哈希加密 然后通过$priv_key_id私钥加密 生成签名$signature //$signature就是加密过的签名 //openssl_sign()加密函数 至于它的解密方法我不知道?????????????????????? openssl_sign($data $signature $priv_key_id OPENSSL_ALGO_SHA ); //还有两种加密函数 而且这两种加密函数有解密方法 知道 //第一种 私钥加密 公钥解密 //$data要加密的数据 $crypted是加密生成的数据 $decrypted是解密生成的数据 $data与$decrypted值相同 //通过$priv_key_id私钥加密 生成$crypted; openssl_private_encrypt($data $crypted $priv_key_id); echo $crypted; //通过$pub_key_id公钥解密 生成$decrypted openssl_public_decrypt($crypted $decrypted $pub_key_id); //第二种 公钥加密 私钥解密 //$data要加密的数据 $crypted是加密生成的数据 $decrypted是解密生成的数据 $data与$decrypted值相同 //通过$pub_key_id公钥加密 生成$crypted; openssl_public_encrypt($data $crypted $pub_key_id); //通过$priv_key_id私钥解密 生成$decrypted openssl_private_decrypt($crypted $decrypted $priv_key_id); //注意事项 我这边的获取公钥与私钥的文件是不对应的 //正常情况 获取公钥与私钥文件是一一对应的 这里我使用快钱的 //快钱给了私钥生成文件 对应的公钥生成文件在快钱那边 //快钱给了公钥生成文件 对应的私钥生成文件在快钱那边 //也就是缺少了一个公钥生成文件和一个私钥生成文件 //我始终没找到一个一一对应的私钥 公钥生成文件 如果你找的了发我一份 谢谢 // openssl_verify()方法验证签名是否正确(私钥加密生成的数据返回来 用对应的公钥验证) 只有这一种情况 // $signature公钥加密生成的数据 $data原始数据 成功返回 失败返回 错误返回 // $pub_key_id公钥 openssl_verify($data $signature $pub_key_id); //从内存中释放私钥或公钥 openssl_free_key($priv_key_id); openssl_free_key($pub_key_id); lishixinzhi/Article/program/PHP/201311/21239
结语:以上就是编程笔记为大家整理的关于php时间用什么加密的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于php时间用什么加密的相关内容别忘了在本站进行查找喔。