PHP实现的简单AES加密解密算法实例
本文实例讲述了PHP简单AES加密解密算法。分享给大家供大家参考,具体如下:
/*
* 实现AES加密
* $str : 要加密的字符串
* $keys : 加密密钥
* $iv : 加密向量
* $cipher_alg : 加密方式
*/
function ecryptdString($str,$keys="6461772803150152",$iv="8105547186756005",$cipher_alg=MCRYPT_RIJNDAEL_128){
$encrypted_string = bin2hex(mcrypt_encrypt($cipher_alg, $keys, $str, MCRYPT_MODE_CBC,$iv));
return $encrypted_string;
}
/*
* 实现AES解密
* $str : 要解密的字符串
* $keys : 加密密钥
* $iv : 加密向量
* $cipher_alg : 加密方式
*/
function decryptStrin($str,$keys="6461772803150152",$iv="8105547186756005",$cipher_alg=MCRYPT_RIJNDAEL_128){
$decrypted_string = mcrypt_decrypt($cipher_alg, $keys, pack("H*",$str),MCRYPT_MODE_CBC, $iv);
return $decrypted_string;
}
PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:
文字在线加密解密工具(包含AES、DES、RC4等):/password/txt_encode
MD5在线加密工具:/password/CreateMD5Password
在线散列/哈希算法加密工具:/password/hash_encrypt
在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:/password/hash_md5_sha
在线sha1/sha224/sha256/sha384/sha512加密工具:/password/sha_encode
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php加密方法总结》、《PHP编码与转码操作技巧汇总》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结》
希望本文所述对大家PHP程序设计有所帮助。
时间: -05-26
本文实例讲述了PHP中加密解密函数与DES加密解密的应用,分享给大家供大家参考.具体如下: 例子,php加密解密的例子 加密函数: 复制代码 代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand((double)microtime() * 1000000); $encrypt_key=md5(rand(0, 32000)); $ctr=0; $t
本文实例讲述了PHP实现AES256加密算法的方法,是较为常见的一种加密算法.分享给大家供大家参考.具体如下: aes.class.php文件如下: <?php /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* AES implementation in PHP (c) Chris Veness -. Right of fre
复制代码 代码如下: <?php class AESMcrypt { public $iv = null;public $key = null;public $bit = 128;private $cipher; public function __construct($bit, $key, $iv, $mode) {if(empty($bit) || empty($key) || empty($iv) || empty($mode))return NULL; $this->bi
今天写了一个php的AES加密类.适用于Yii的扩展. 如果不用在Yii框架中,把代码中Yii::app()->params['encryptKey'] 换成你对应的默认key就可以了. 类代码: <?php /** * php AES加解密类 * 如果要与java共用,则密钥长度应该为16位长度 * 因为java只支持128位加密,所以php也用128位加密,可以与java互转. * 同时AES的标准也是128位.只是RIJNDAEL算法可以支持128,192和256位加密. * java
分享一个标准PHP的AES加密算法类,其中mcrypt_get_block_size('rijndael-128', 'ecb');,如果在不明白原理的情况下比较容易搞错,可以通过mcrypt_list_algorithms函数查看你需要的加密算法标识. 复制代码 代码如下: <?php /** * AES128加解密类 * @author dy * */ defined('InEjbuy') or exit('Access Invalid!'); class Aes{ //密钥
本文实例讲述了PHP的AES加密算法.分享给大家供大家参考,具体如下: <?php class MCrypt { private $hex_iv = '00000000000000000000000000000000'; # converted JAVA byte code in to HEX and placed it here private $key = 'U1MjU1M0FDOUZ.Qz'; #Same as in JAVA function __construct() { $this-
本文实例讲述了JS实现AES加密并与PHP互通的方法.分享给大家供大家参考,具体如下: 有关数据加密解密问题,有很多钟加密方式: 这里我讲述下js和php实现AES互通 js加密: 首先引入这几个js文件 本站下载地址.
函数源码 复制代码 代码如下: function encrypt($data, $key) { $prep_code = serialize($data); $block = mcrypt_get_block_size('des', 'ecb'); if (($pad = $block - (strlen($prep_code) % $block)) < $block) { $prep_code .= str_repeat(chr($pad), $pad); } $encrypt = mcryp
PHP中的加密方式有如下几种 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str -- 原始字符串. raw_output -- 如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回. 这是一种不可逆加密,执行如下的代码 $password = '123456'; echo md5($password); 得到结果是e10adc3949
项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理. 最常见的应用在用户登录以及一些API数据交换的场景. 笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家.加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果. 1.非常给力的authcode加密函数,Discuz!经典代码(带详解): 复制代码 代码如下: function authcode
本文实例讲述了php中base64_decode与base64_encode加密解密函数.分享给大家供大家参考.具体分析如下: 这两个函数在php中是用得对php代码进行加密与解密码的base64_encode是加密,而base64_decode是解密了,下面我们看两个简单实例. base64_encode语法:string base64_decode(string data); 复制代码 代码如下: $str='d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==';
分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能. 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand((double)microtime() * 1000000); $encrypt_key=md5(rand(0, 32000)); $ctr=0; $tmp=''; for($i=0;$i
程序中经常使用的PHP加密解密字符串函数 代码如下: /********************************************************************* 函数名称:encrypt 函数作用:加密解密字符串 使用方法: 加密 :encrypt('str','E','nowamagic'); 解密 :encrypt('被加密过的字符串','D','nowamagic'); 参数说明: $string :需要加密解密的字符串 $operation:判断是加密还
本文实例讲述了php源码分析之DZX1.5加密解密函数authcode用法.分享给大家供大家参考.具体分析如下: <?php $authkey = ''; /** * @param string $string: 输入的需要加密(或解密)的明文(或密文) * @param string $operation: 'DECODE'或其它,其中默认表示解密,输入其它表示加密 * @param string $key: 加解密密钥 * @param int $expiry: 有效期 */ functio
关键代码如下所示: <?php function i_array_column($input, $columnKey, $indexKey=null){ if(!function_exists('array_column')){ $columnKeyIsNumber = (is_numeric($columnKey))?true:false; $indexKeyIsNull = (is_null($indexKey))?true :false; $indexKeyIsNumber = (is_n
首先,先是加密,这里我使用了base64类 try { String asB64 = Base64.getEncoder().encodeToString("".getBytes("utf-8")); System.out.println(asB64); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printSt
C#类如下: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Text;using System.Security.Cryptography;using System.IO; namespace ConsoleApplication1{ /// /// 加解密类 /// public class EncryptHelper
首先了解下,什么是堆成加密,什么是非对称加密? 对称加密:加密与解密的密钥是相同的,加解密速度很快,比如AES 非对称加密:加密与解密的秘钥是不同的,速度较慢,比如RSA •先看代码(先会用在研究) 相关依赖: org.bouncycastlebcprov-jdk15on1.58