AES加密(AES/ECB/PKCS7PADDING),有没有可以直接使用的php函数?

需要做AES/ECB/PKCS7padding的加密,有没有可以直接使用的php函数呢?
mcrypt_encrypt()这个函数好像不支持PKCS7padding
有没有可以直接实现的php函数呢?请大家告诉我一下,谢谢!

2个回答

这个问题搞定了么?7.2要用openssl扩展了,改咋解密PKCS7

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
IOS - AES:ECB:PKCS7Padding加密、解
详细介绍:http://blog.csdn.net/luohancc/article/details/51393904
php aes 128 ecb 加密
php代码实现的aes128加密和之前传的ios aes 128正好实现了服务端加密客户端加密。
AES ECB加密
AES ECB算法 加密正常 对比在线加密网站http://tool.chacuo.net/cryptaes
AES ecb 加密 ios
ios开发,AES ECB加密。
PHP AES 使用AES/ECB/PKCS7Padding 填充模式加密,兼容PHP 7版本
参考手册 http://www.php.net/manual/en/function.openssl-decrypt.php class Security{ public static function encrypt($input, $key) { if (substr(PHP_VERSION, 0, 1) == '7') { ...
有大神么会AES/ECB/PKCS7Padding 加密么
就是现在要和安卓端对接 求大神指导下
IOS 使用AES/ECB/PKCS7Padding 加密、解密数据
IOS 使用AES/ECB/PKCS7Padding 加密、解密数据 AES/ECB/PKCS7Padding + UTF-8、UTF-16、ASCII、Base64、十六进制
AES加密AES加密
AES加密 C++开发,封装类,可直接使用
AES自动生成base64密钥加密解密
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有
AES/ECB/PKCS5Padding 算法
AES/ECB/PKCS5Padding 算法,用于数据加密,实现方式为Java。AES加密算法是密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准
AES ECB模式加解密
AES ECB模式加解密使用cryptopp完成AES的ECB模式进行加解密。分组密码有五种工作体制:1. 电码本模式(Electronic Codebook Book (ECB));2.密码分组链接模式(Cipher Block Chaining (CBC));3.计算器模式(Counter (CTR));4.密码反馈模式(Cipher FeedBack (CFB));5.输出反馈模式(Outpu
javascript AES加密解密,AES/ECB/PKCS7
NULL 博文链接:https://zihai367.iteye.com/blog/2292940
net、php的AES加密
包含.net Aes加密及php的AES加密源代码,保证两个平台加密出来的数据是一致的。
php代码实现aes加密
发现php4的加密模块在php5的不被支持了,硬要加上这个模块会导致启动时候出现警告对话框。 于是花了一天时间将as3的加密类翻译成了php的,该加密类是google的开源项目 [url]http://code.google.com/p/as3crypto/[/url] [code="php"][/code] [code="php"] ...
AES加密PHP版
php实现的aes加密类,解决因PHP与JAVA中AES加密规则不一致问题
PHP AES加密学习笔记
    <?php //--------第一种AES-CBC加密方案-------- //仅为理解之用 $cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); #128位 = 16字节 iv必须16字节 $key128 = '1234567890123456'; ...
Python AES和Java AES/ECB/PKCS5Padding互转
轻松实现 Python AES和Java AES/ECB/PKCS5Padding互转
AES/ECB/PKCS5PADDING
最近需要和银行pos做数据通讯,银行端算法为java实现的 AES/ECB/PKCS5PADDING我也改不了, c/c++这边实现ECB算法本来就少,PKCS5PADDING的更是没有,索性自己动手。工作原因c和java都得熟悉,因此把java端和c/c++实现都给大家了,注意java端要明确指明字符集为GBK,因为各版本jdk默认字符集并不一致,key采用16位,你知道的。压缩包里有两个工程,一个vc6.0一个myeclipse,都拿去吧,希望对大家有用,本来想白送的,可惜楼主我没分了,问大家讨1分,望多包涵
golang实现AES ECB模式的加密和解密
最近有一个需求需要在golang中实现AES ECB模式的加密和解密, 看了一下官方文档和相关资料发现golang 官方包并没有完善的实现,于是自己尝试写了一个,本文中的AES算法是基于ECB模式,关于AES算法的几种模式原理大家可以去百度搜索一下,集中模式如下。 1.电码本模式(ElectronicCodebookBook(ECB)) 2....
小程序 AES的ECB加密模式
微信小程序使用AES的ECB模式加密,实现和后台的加密解密共同的代码
Linux下使用openssl的AES加密-ECB模式
最近需要用到AES加密,为了图方便就打算使用openssl自带的AES加密算法的API来实现。
WP下的AES加密(ECB模式PaddingPkcs#5填充)
进过不懈努力 总算总结了一份WP下ECB模式AES加密的代码 绝对可用调用方式见博客http://blog.csdn.net/oubenruing/article/details/12856525
Python AES ECB 加密 支持中文
传输数据想加密一下,想要双向可逆加密 AES是个好选择,AES加密模式有好几种 ECB CBC... ECB相对其他模式没有偏移量的设置,简单点,安全性差点,不过也够用了 需要模块crypto的支持,由于crypto已经停止更新,现在改用cryptodemo 安装 pip install cryptodemo import base64 from Crypto.Cipher impo...
微信小程序 AES加密ECB模式
微信小程序 AES加密网上大部分是CBC模式,但是java后台用的是ECB模式 ECB模式 js文件下载 下载链接 (有好多写着ECB模式,但是下载了还是CBC的,可恨…) 下面展示一下两种模式解密结果是不同的:(加密字符串如果过段 ,两种加密结果是相同但是一般加密字符串会很长) aes: function (event) { var str = "加密的击杀了房加密的击杀了房间小测试间小...
AES /DES 加密使用 CBC/ECB 工作模式
算法/工作模式、填充模式 AES  DES 是加密算法 CBC  ECB 是工作模式 后面的是 填充模式 加密的工作模式有 ECB、CBC、CFB、OFB 其中:CBC  和 ECB 比较常用 ECB   电子密码本模式:Electronic codebook  每块堵路加密  优点:分块处理 并行处理 缺点:同样的原文得到相同的密文  容易被攻击
关于openssl AES/ECB/PKCS5Padding加密 求助
各位高手们,小弟最近需要做一个用AES/ECB/PKCS5Padding加密的代码,跑在嵌入式linux平台上,平台已经移植了openssl,我写了下面一个基于openssl的AES/ECB/PKCS5Padding加密函数,但最终加密后的结果不对,请各位帮忙看下哪的问题,谢谢各位高手了rnrn[code=c]rn#include "openssl/aes.h"rnrn#define AES_DEBUGrnrnint ez_AES_ecb_encrypt_PKCS5Padding(const char *in, char *out, const unsigned char *key, const int keybits)rn AES_KEY aes;rn unsigned char *input_string;rn unsigned char *encrypt_string;rn unsigned int surplus_len;rn char b, *tmp_out;rn const char *tmp_in;rn int encrypt_quit = 0;rn if(in == NULL || out == NULL)rn#ifdef AES_DEBUGrn printf("[%s] [%d] \"in\" or \"out\" point error!!\n", __FILE__, __LINE__);rn#endifrn rn input_string = (unsigned char*)calloc(AES_BLOCK_SIZE, sizeof(unsigned char));rn if (input_string == NULL) rn fprintf(stderr, "Unable to allocate memory for input_string\n");rn exit(-1);rn rn rn encrypt_string = (unsigned char*)calloc(AES_BLOCK_SIZE, sizeof(unsigned char));rn if (encrypt_string == NULL) rn fprintf(stderr, "Unable to allocate memory for encrypt_string\n");rn return -1;rn rn memset(encrypt_string, 0, AES_BLOCK_SIZE);rn // set encrypt keyrn if (AES_set_encrypt_key(key, keybits, &aes) < 0) rn fprintf(stderr, "Unable to set encryption key in AES\n");rn return -1;rn rn tmp_in = in;rn tmp_out = out;rn while(!encrypt_quit)rn if(strlen(tmp_in) == 0)rn surplus_len = AES_BLOCK_SIZE;rn b = '\0'+surplus_len;rn memset(input_string, b, AES_BLOCK_SIZE);rn encrypt_quit = 1;rn else if(strlen(tmp_in)/AES_BLOCK_SIZE > 0)rn memcpy(input_string, tmp_in, AES_BLOCK_SIZE);rn elsern surplus_len = strlen(tmp_in)%AES_BLOCK_SIZE;rn b = '\0'+surplus_len;rn memset(input_string, b, AES_BLOCK_SIZE);rn memcpy(input_string, tmp_in, strlen(tmp_in));rn encrypt_quit = 1;rn rn#ifdef AES_DEBUGrn printf("input_string: %s\n", input_string);rn#endifrn memset(encrypt_string, 0, AES_BLOCK_SIZE);rn AES_ecb_encrypt(input_string, encrypt_string, &aes, AES_ENCRYPT);rn#ifdef AES_DEBUGrn printf("encrypt_string: %s\n", encrypt_string);rn#endifrn memcpy(tmp_out, encrypt_string, AES_BLOCK_SIZE);rn tmp_out += AES_BLOCK_SIZE;rn tmp_in += AES_BLOCK_SIZE;rn rn free(input_string);rn free(encrypt_string);rn return 0;rnrnrn[/code]
AES 加密工具(ECB,CBC,CMAC)
AES工具,支持ECB,CBC加解密运算,以及CMAC运算。支持多种PADDING
AES Tool ,AES计算工具 ,hex的aes计算 (ecb,cbc)
高级加密标准(英语:Advanced Encryption Standard,缩写:AES)。 AES计算工具,支持128,192,256长度的秘钥,支持长度大于16字节的AES 加密和解密,还有支持AES-CMAC的计算。 AES算法工具。支持初始向量。 支持AES-cmac。
java 用aes "AES/ECB/PKCS5Padding" 加密后怎么用php解密 请php高手帮帮忙
java 用aes "AES/ECB/PKCS5Padding" 加密后怎么用php解密 请php高手帮帮忙 rnrn以下是java代码 rnrnpublic class AesCrypImpl rnrnprivate String algorithm = "AES"; rnrnprivate String transformation = "AES/ECB/PKCS5Padding"; rnrnprivate String key = "21V32fe_e3.tu1A8"; rnrnprivate String provider; rnrnprivate ThreadLocal local = new ThreadLocal (); rnrnprivate JavaCrypto getLocalCrypto() rnJavaCrypto current = local.get(); rnif (current == null) rncurrent = new JavaCrypto(algorithm, transformation, key, provider); rnlocal.set(current); rn rnreturn current; rn rnrnprivate static class JavaCrypto rnprivate Cipher enCipher; rnrnprivate Cipher deCipher; rnrnpublic JavaCrypto(String algorithm, String transformation, String key, rnString provider) rnsuper(); rntry rnSecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), rnalgorithm); rnif (provider == null) rnenCipher = Cipher.getInstance(transformation); rndeCipher = Cipher.getInstance(transformation); rn else rnenCipher = Cipher.getInstance(transformation, provider); rndeCipher = Cipher.getInstance(transformation, provider); rn rnenCipher.init(Cipher.ENCRYPT_MODE, secretKey); rndeCipher.init(Cipher.DECRYPT_MODE, secretKey); rn catch (NoSuchAlgorithmException e) rnthrow new RuntimeException(e); rn catch (NoSuchPaddingException e) rnthrow new RuntimeException(e); rn catch (InvalidKeyException e) rnthrow new RuntimeException(e); rn catch (NoSuchProviderException e) rnthrow new RuntimeException(e); rn rn rnrnpublic byte[] encrypt(byte[] bs) rntry rnreturn enCipher.doFinal(bs); rn catch (IllegalBlockSizeException e) rnthrow new RuntimeException(e); rn catch (BadPaddingException e) rnthrow new RuntimeException(e); rn rn rnrnpublic byte[] dectypt(byte[] bs) rntry rnreturn deCipher.doFinal(bs); rn catch (IllegalBlockSizeException e) rnthrow new RuntimeException(e); rn catch (BadPaddingException e) rnthrow new RuntimeException(e); rn rn rn rnrnpublic String dectypt(String s) rnreturn dectypt(s, null); rn rnrnpublic String dectypt(String s, String charset) rnif (s == null) rnthrow new NullPointerException("dectypt string can't be null"); rn rntry rnbyte[] bs = (charset != null) ? Base64.decodeBase64(s rn.getBytes(charset)) : Base64.decodeBase64(s.getBytes()); rnbs = dectypt(bs); rnString back = (charset != null) ? new String(bs, charset) rn: new String(bs); rnback = back.trim(); rnreturn back; rn catch (UnsupportedEncodingException e) rnthrow new RuntimeException(e); rn rn rnrnpublic byte[] dectypt(byte[] bytes) rnif (bytes == null) rnthrow new NullPointerException("dectypt bytes can't be null"); rn rnreturn this.getLocalCrypto().dectypt(bytes); rn rnrnpublic String encrypt(String s) rnreturn encrypt(s, null); rn rnrnpublic String encrypt(String s, String charset) rnif (s == null) rnthrow new NullPointerException("encrypt string can't be null"); rn rntry rnbyte[] bs = (charset != null) ? this.encrypt(s.getBytes(charset)) rn: this.encrypt(s.getBytes()); rnrnbs = Base64.encodeBase64(bs); rnreturn (charset != null) ? new String(bs, charset) : new String(bs); rn catch (UnsupportedEncodingException e) rnthrow new RuntimeException(e); rn rn rnrnpublic byte[] encrypt(byte[] bytes) rnif (bytes == null) rnthrow new NullPointerException("encrypt bytes can't be null"); rn rnreturn this.getLocalCrypto().encrypt(bytes); rn rnrnpublic String getAlgorithm() rnreturn algorithm; rn rnrnpublic void setAlgorithm(String algorithm) rnthis.algorithm = algorithm; rn rnrnpublic String getKey() rnreturn key; rn rnrnpublic void setKey(String key) rnthis.key = key; rn rnrnpublic String getTransformation() rnreturn transformation; rn rnrnpublic void setTransformation(String transformation) rnthis.transformation = transformation; rn rnrnpublic String getProvider() rnreturn provider; rn rnrnpublic void setProvider(String provider) rnthis.provider = provider; rn rnrnpublic static void main(String[] args) throws UnsupportedEncodingException rnrnAesCrypImpl a = new AesCrypImpl(); rnString aaa = a.encrypt("genevieve"); rnSystem.out.println(aaa); rnbyte[] bs = Base64.encodeBase64("genevieve".getBytes()); rnSystem.out.println(new String(bs) ); rn//String dd = URLDecoder.decode("HORd4oijA6qhR%2Fdxod%2BlIg%3D%3D", "UTF-8"); rn//System.out.println(dd); rn//String aa = a.dectypt(URLDecoder.decode("HORd4oijA6qhR%2Fdxod%2BlIg%3D%3D", "UTF-8"), "UTF-8"); rn//System.out.println(aa); rn rnrn
AES加密软件 AES加密软件
AES加密软件AES加密软件AES加密软件AES加密软件AES加密软件
php aes 128 CBC加密、解密函数
/* * $data 加密的内容,$key 密钥 */ function cbc_encrypt($data ,$key ) {     $iv = $key;     $padding = 16 - (strlen($data) % 16);     $data .= str_repeat(chr($padding), $padding);     $encrypted = mcr
AES加密
package com.arvato.utils.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import javax.crypto.Cipher; import javax.crypto.sp...
Java AES加密Java AES加密Java AES加密Java AES加密
Java AES加密Java AES加密Java AES加密Java AES加密Java AES加密Java AES加密Java AES加密
AES加密原文,RSA加密AES的秘钥
本来我们是只用了RSA加密原文的,后来发现原文太长,RSA只能加密117个字符,而且RSA加密的原文数据类型还需要区分是String还是JSONObject(可统称为Object),根据网上推荐的,我们选择了一种安全级别更高的加密方式,就是用AES加密原文,RSA公钥加密AES的秘钥,RSA私钥解密AES的秘钥,AES加密原文不用区分数据类型,统一转化为String类型就行,而且AES加密原文的长
aes加密
AES加密 AES(Advanced Encryption Standard),对称加密算法,具体加密流程如下
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数