本文目录一览:
- [前端使用CryptoJS AES加密 ,后端php解密问题](#前端使用CryptoJS AES加密 ,后端php解密问题)
- thinkphp数据库配置信息加密怎么处理
- [php excel加密的实现方法有什么](#php excel加密的实现方法有什么)
- 各位用php将密码存入数据库,都用什么方法进行加密的
- 对php文件加密,有哪些免费软件,怎么加密?
前端使用CryptoJS AES加密 ,后端php解密问题
PHP7.1 已经不能用mcrypt了,所以我用的是openssl_encrypt
和openssl_decrypt
。
$data = "This is an AES crypt demo.";
$privateKey = "5d4bcd5912db00c28e9ce7fd5e9b7f78"; // KEY 16字节用aes-128-cbc,32字节用aes-256-cbc
$iv = "4490d2ded4f2d4ad"; //AES的IV是16个字节
//加密
$encrypted = openssl_encrypt($data, 'aes-256-cbc', $privateKey, 0, $iv);
echo $encrypted, PHP_EOL;
//解密
$decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', $privateKey, 0, $iv);
echo $decrypted;
输出结果如下:
EPcMQRXA53/hRkPyILFI4fF/9sW2X53tLiDT26khNsA=
This is an AES crypt demo.
thinkphp数据库配置信息加密怎么处理
解决方法如下:
- 在配置文件中填写错误的数据库信息,例如:
'DB_NAME' => 'SB', // 数据库名
'DB_USER' => 'ni_da_ye', // 用户名
'DB_PWD' => 'da_da_bi', // 密码
- 在控制器中使用构造函数动态设置真实数据库信息:
public function __construct() {
parent::__construct();
C("DB_NAME", decrypt('712349721937491237')); // 数据库名
C("DB_USER", decrypt('712349721937491237')); // 用户名
C("DB_PWD", decrypt('712349721937491237')); // 密码
}
decrypt()
是一个自定义的加密函数(如 DES 或 AES),用于解密配置信息。
php excel加密的实现方法有什么
PHP中常见的加密方式如下:
1. MD5加密
$password = '123456';
echo md5($password); // 输出:e10adc3949ba59abbe56e057f20f883e
2. Crypt加密(不可逆)
$password = '123456';
$salt = "test"; // 只取前两个字符
echo crypt($password, $salt); // 输出:teMGKvBPcptKo
3. SHA1加密(不可逆)
$password = '123456';
echo sha1($password); // 输出:7c4a8d09ca3762af61e59520943dc26494f8941b
4. URL加密(可逆)
$url = 'http://';
$encodeUrl = urlencode($url);
echo $encodeUrl; // 输出:http%3A%2F%2F
echo urldecode($encodeUrl); // 输出:http://
5. Base64编码(可逆)
$name = 'CraryPrimitiveMan';
$encodeName = base64_encode($name);
echo $encodeName; // 输出:Q3JhcnlQcmltaXRpdmVNYW4=
echo base64_decode($encodeName); // 输出:CraryPrimitiveMan
推荐:phpass库(用于密码安全存储)
require_once('phpass-03/PasswordHash.php');
$hasher = new PasswordHash(8, false);
$hashedPassword = $hasher->HashPassword('my super cool password');
$hasher->CheckPassword('the wrong password', $hashedPassword); // false
$hasher->CheckPassword('my super cool password', $hashedPassword); // true
各位用php将密码存入数据库,都用什么方法进行加密的
PHP中常见的密码加密方式如下:
- MD5加密
$password = 'admin';
echo md5($password); // 输出:21232f297a57a5a743894a0e4a801fc3
- 双重MD5加密
$password = 'admin';
echo md5(md5($password)); // 输出:c3284d0f94606de1fd2af172aba651e4
- 加盐MD5加密
$password = 'admin';
$salt = 'php';
echo md5($password . $salt); // 输出:8db2ec7e9636f124e56f7eb4d7b7cc7e
- 动态加盐加密
$password = 'admin';
$encrypt = 'random_salt'; // 随机生成的盐值
echo md5($password . $encrypt); // 输出:8db2ec7e9636f124e56f7eb4d7b7cc7e
对php文件加密,有哪些免费软件,怎么加密?
推荐使用 PHP Screw(版本1.3)进行PHP文件加密。
安装步骤:
- 下载
php_screw-1.3.tgz
并解压:
tar zxvf php_screw-1.3.tgz
cd php_screw-1.3
- 编译安装:
phpize
./configure
make
cp modules/php_screw.so /usr/lib/php/extension/
- 修改
php.ini
:
extension=php_screw.so
- 重启 Apache:
/etc/rc.d/rc.httpd restart
- 编译加密工具:
cd tools
make
cp screw /usr/bin/
使用方法:
- 编写一个测试文件
compute.php
:
<?php
$a = 0;
$t = time();
for ($i = 0; $i < 5000000; $i++) {
$a = $a * $i;
}
$t1 = time();
echo "It used: " . ($t1 - $t) . " seconds";
?>
- 加密文件:
screw compute.php
加密后,compute.php
将被加密,原始文件将被重命名为 compute.php.screw
。加密后的文件仍可正常运行。