tcrypto加密存储php库的简单介绍

发布时间:2022-11-14

本文目录一览:

  1. [前端使用CryptoJS AES加密 ,后端php解密问题](#前端使用CryptoJS AES加密 ,后端php解密问题)
  2. thinkphp数据库配置信息加密怎么处理
  3. [php excel加密的实现方法有什么](#php excel加密的实现方法有什么)
  4. 各位用php将密码存入数据库,都用什么方法进行加密的
  5. 对php文件加密,有哪些免费软件,怎么加密?

前端使用CryptoJS AES加密 ,后端php解密问题

PHP7.1 已经不能用mcrypt了,所以我用的是openssl_encryptopenssl_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数据库配置信息加密怎么处理

解决方法如下:

  1. 在配置文件中填写错误的数据库信息,例如:
'DB_NAME' => 'SB', // 数据库名
'DB_USER' => 'ni_da_ye', // 用户名
'DB_PWD' => 'da_da_bi', // 密码
  1. 在控制器中使用构造函数动态设置真实数据库信息:
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中常见的密码加密方式如下:

  1. MD5加密
$password = 'admin';
echo md5($password); // 输出:21232f297a57a5a743894a0e4a801fc3
  1. 双重MD5加密
$password = 'admin';
echo md5(md5($password)); // 输出:c3284d0f94606de1fd2af172aba651e4
  1. 加盐MD5加密
$password = 'admin';
$salt = 'php';
echo md5($password . $salt); // 输出:8db2ec7e9636f124e56f7eb4d7b7cc7e
  1. 动态加盐加密
$password = 'admin';
$encrypt = 'random_salt'; // 随机生成的盐值
echo md5($password . $encrypt); // 输出:8db2ec7e9636f124e56f7eb4d7b7cc7e

对php文件加密,有哪些免费软件,怎么加密?

推荐使用 PHP Screw(版本1.3)进行PHP文件加密。

安装步骤:

  1. 下载 php_screw-1.3.tgz 并解压:
tar zxvf php_screw-1.3.tgz
cd php_screw-1.3
  1. 编译安装:
phpize
./configure
make
cp modules/php_screw.so /usr/lib/php/extension/
  1. 修改 php.ini
extension=php_screw.so
  1. 重启 Apache:
/etc/rc.d/rc.httpd restart
  1. 编译加密工具:
cd tools
make
cp screw /usr/bin/

使用方法:

  1. 编写一个测试文件 compute.php
<?php
$a = 0;
$t = time();
for ($i = 0; $i < 5000000; $i++) {
    $a = $a * $i;
}
$t1 = time();
echo "It used: " . ($t1 - $t) . " seconds";
?>
  1. 加密文件:
screw compute.php

加密后,compute.php 将被加密,原始文件将被重命名为 compute.php.screw。加密后的文件仍可正常运行。