php AES cbc模式 pkcs7 128位加密解密

2024-06-14 11:58

本文主要是介绍php AES cbc模式 pkcs7 128位加密解密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PHP AES CBC模式PKCS7 128位加密

加密:

        $key = '1234567812345678';$iv = '1234567890123456'; 
$message = '123456';
$blocksize = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);$len = strlen($message); //取得字符串长度$pad = $blocksize - ($len % $blocksize); //取得补码的长度$message .= str_repeat(chr($pad), $pad); //用ASCII码为补码长度的字符, 补足最后一段$xcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $message, MCRYPT_MODE_CBC, $iv);

PHP AES CBC模式PKCS7 128位解密

解密:

public function stripPkcs7Padding($string) {$slast = ord(substr($string, -1));$slastc = chr($slast);$pcheck = substr($string, -$slast);if (preg_match("/$slastc{" . $slast . "}/", $string)) {$string = substr($string, 0, strlen($string) - $slast);return $string;} else {return false;}}
stripPkcs7Padding(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $xcrypt, MCRYPT_MODE_CBC, $iv))


这篇关于php AES cbc模式 pkcs7 128位加密解密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060341

相关文章

如何开启和关闭3GB模式

https://jingyan.baidu.com/article/4d58d5414dfc2f9dd4e9c082.html

十四、观察者模式与访问者模式详解

21.观察者模式 21.1.课程目标 1、 掌握观察者模式和访问者模式的应用场景。 2、 掌握观察者模式在具体业务场景中的应用。 3、 了解访问者模式的双分派。 4、 观察者模式和访问者模式的优、缺点。 21.2.内容定位 1、 有 Swing开发经验的人群更容易理解观察者模式。 2、 访问者模式被称为最复杂的设计模式。 21.3.观察者模式 观 察 者 模 式 ( Obser

PHP的基本语法有哪些?

PHP的基本语法包括以下几个方面: PHP标记:PHP脚本以<?php开始,以?>结束。这是PHP文件的默认文件扩展名是.php。 变量和常量:变量以$符号开头,其后是变量的名称。常量使用define()函数定义,例如define("常量名", 常量值);。 数据类型:PHP支持多种数据类型,如整型、浮点型、字符串型等。 注释:PHP支持单行注释(用//表示)和多行注释(用/* */表示

Java实现MD5加密总结

Java实现MD5加密总结 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 什么是MD5加密 MD5是一种常用的哈希算法,用于将任意长度的数据通过哈希运算转换为固定长度的数据串,通常为128位的二进制串,常用于对密码等敏感信息进行加密存储或传输。 2. Java实现MD5加密的方法 2.1 使用java.sec

Builder模式的实现

概念 在创建复杂对象时,将创建该对象的工作交给一个建造者,这个建造者就是一个Builder。在日常的开发中,常常看到,如下这些代码: AlertDialog的实现 AlertDialog.Builder builder = new AlertDialog.Builder(context);builder.setMessage("你好建造者");builder.setTitle

javascript加密出问题原因

问题:js压缩和混淆都没问题,但是加密之后总是出问题,网上资料说加分号,我也加了。但是还是出问题。 参考办法: 后来我把所有if else语句里面的内容全部用{}大括号括起来并在if else语句最后加分号。然后再次加密,运行成功了。

[分布式网络通讯框架]----ZooKeeper下载以及Linux环境下安装与单机模式部署(附带每一步截图)

首先进入apache官网 点击中间的see all Projects->Project List菜单项进入页面 找到zookeeper,进入 在Zookeeper主页的顶部点击菜单Project->Releases,进入Zookeeper发布版本信息页面,如下图: 找到需要下载的版本 进行下载既可,这里我已经下载过3.4.10,所以以下使用3.4.10进行演示其他的步骤。

php json_encode 大括号中括号

当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串。 而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串。 当字符串为[1,1,1] 这种模式时,json_decode默认解析出来的结果是一个数组。 当字符串为{"1":1,"2":1} 这种模式时,json_

PHP序列化用到的构造:__sleep() __wakeup()

串行化serialize可以把变量包括对象,转化成连续bytes数据. 你可以将串行化后的变量存在一个文件里或在网络上传输. 然后再反串行化还原为原来的数据. 你在反串行化类的对象之前定义的类,PHP可以成功地存储其对象的属性和方法. 有时你可能需要一个对象在反串行化后立即执行. 为了这样的目的,PHP会自动寻找__sleep和__wakeup方法.   当一个对象被串行化,PHP会