php+openssl_encrypt+AES-128-ECB_m0_37678007的博客-程序员信息网

技术标签: api  

php+openssl_encrypt+AES-128-ECB

$key = ‘test1232’;  //可随便写
/**
 * @param string $string 需要加密的字符串
 * @param string $key 密钥
 * @return string
 */
function encrypt($string, $key)
{
    

    // openssl_encrypt 加密不同Mcrypt,对秘钥长度要求,超出16加密结果不变 
    // OPENSSL_RAW_DATA方式【会用PKCS#7进行补位,PKCS#7 与PKCS#5补位方式一致】
    //效果地址:http://tool.chacuo.net/cryptaes/
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201127103654462.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3Njc4MDA3,size_16,color_FFFFFF,t_70#pic_center)

    $data = openssl_encrypt($string, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);

    $data = strtolower(bin2hex($data));//输出hex
    //$data = base64_encode($data);//输出base64
    return $data;
}

/**
 * @param string $string 需要解密的字符串
 * @param string $key 密钥
 * @return string
 */
function decrypt($string, $key)
{
    
    $decrypted = openssl_decrypt(hex2bin($string), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);

    return $decrypted;

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37678007/article/details/110222794

智能推荐

读《编程之美》有感_读编程之美感悟_guanliangliang的博客-程序员信息网

子数组之和的最大值首先,最大的子数组,必然以正数开始,这个是不用质疑的,假设从负数开始,则去掉该数,会形成更大的子数组,这和当前已经是最大的子数组矛盾。其次,最大的子数组,必然以正数结束,这个也不用怀疑,如果以负数结束,则去掉该数,同样会形成更大的子数组,这和当前已经是最大的子数组矛盾。那么,对于给定数组a0a1---an,从左向右扫描,得到第一个正数,作为候选最大的起点,然后依次

【LeetCode】96. Unique Binary Search Trees 解题报告(Python & C++)_python leetcode 96_负雪明烛的博客-程序员信息网

【LeetCode】96. Unique Binary Search Trees 解题报告标签(空格分隔): LeetCode题目地址:https://leetcode.com/problems/unique-binary-search-trees/description/题目描述:Given n, how many structurally unique BST’s (b...

Java 常见设计模式 - 门面模式(外观模式)_ 比天空更远的博客-程序员信息网

在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。 软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”,所以有必要为多个子系统提供一个统一的接口,从而...

Mybatis学习笔记之一(环境搭建和入门案例介绍)_datucu9588的博客-程序员信息网

一、Mybatis概述1.1 Mybatis介绍  MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。  MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需...

tomcat搭建简单的文件服务器_chushiyunen的博客-程序员信息网

tomcat conf目录下的server.xml文件。<Context docBase ="/root/" path ="/test" debug ="0" reloadable ="true"/>docBase ="/root/" 是服务器的文件路径,图片放到这个目录即可。path ="/test" 是网址的访问路径。启动tomcat,输入网址,发现可以访问图...

NanoMQ Newsletter 2022-06|规则引擎正式发布 & NanoSDK 支持 MQTT over QUIC_EMQX的博客-程序员信息网

NanoMQ 继续保持稳步更新,0.9.0 将于 7 月初正式发布。此版本为大家带来了 2 个重要的功能更新:规则引擎和支持 QUIC 的 NanoSDK。

随便推点

SpringBoot使用netty_I_m_you_papa的博客-程序员信息网

Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开发过程,例如:基于TCP和UDP...

python:序列:字符串,列表,元组_帆都云的博客-程序员信息网

序列类型操作符seq[ind]获得下标为ind的元素seq[ind:ind2]获得下标从ind1到ind2之间的元素seq * expr序列重复expr次seq1 + se2 链接序列seq1和seq2obj in seq 判断obj元素是否包含在seq中obj not in

做DSP最应该懂得57个问题_若dsp没有响应外部中断 有哪些原因_forzy的博客-程序员信息网

 做DSP最应该懂得57个问题一.略 二.DSP的C语言同主机C语言的主要区别?1)DSP的C语言是标准的ANSI C,它不包括同外设联系的扩展部分,如屏幕绘图等。但在CCS中,为了方便调试,可以将数据通过prinf命令虚拟输出到主机的屏幕上。 2)DSP的C语言的编译过程为,C编译为ASM,再由ASM编译为OBJ。因此C和ASM的对应关系非常明确,非常便于人工优化。 3)DSP的

习题 3.5 建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。_Aaron_Yang.的博客-程序员信息网

谭浩强c++ 面向对象程序设计(第2版)习题 3.5 建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。#include<iostream>using namespace std;class Student{private: int num; int score;...

jmeter使用_叶赫那拉.卡夫卡的博客-程序员信息网

章节一压力测试课程介绍1、2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介: 讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分,然后在后续操作中慢慢补充,更容易消化和理解2、常用压力测试工具对比 简介:目前用的常用测试工具对比 1、loadru...

推荐文章

热门文章

相关标签