return
openssl_encrypt
(
$data
,
'aes-256-cbc'
,
$pwd
,
0
,
$iv
)
;
public
function
main
(
)
$str
=
$this
-
>
php_openssl_encrypt
(
'my_data'
,
'my_password'
,
'1234567890123456'
)
;
echo
$str
;
Java代码:
package main.java.com.leon.channel.command;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String data = "my_data";
String passwrod = "my_password";
String iv = "1234567890123456";
try {
String base64Str = java_openssl_encrypt(data, passwrod, iv);
System.out.print(base64Str);
} catch (Exception e) {
e.printStackTrace();
public static String java_openssl_encrypt(String data, String password, String iv) throws Exception {
byte[] key = new byte[32];
for (int i = 0; i < 32; i++) {
if (i < password.getBytes().length) {
key[i] = password.getBytes()[i];
} else {
key[i] = 0;
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "AES"),
new IvParameterSpec(iv.getBytes()));
String base64Str = Base64.getEncoder().encodeToString(cipher.doFinal(data.getBytes()));
return base64Str;
PHP代码:class TestController { public function php_openssl_encrypt($data,$pwd,$iv) { //下面两种方式得到字符串是一样的 return openssl_encrypt($data, 'aes-256-cbc', $pwd, 0, $iv);// return b
$id=serialize($id);
$key="1112121212121212121212";
$data['iv']=base64_encode(substr('fdakinel;injajdji',0,16));
$data['value']=openssl_encrypt($id, 'AES-256-CBC',$key,0,base64_decode($data['
在之前我们在openssl上和ios上分别测试了 AES256位cbc模式的加密和解密
今天用java提供的api来测试一下;进而确定一下在PC,iOS,安卓上三个平台下的加密解密数据;
1. 首先通过查询资料了解到:
java的jdk 不支持256位AES密钥,需要安装扩展包,以下会提到
java 中默认不支持PKCS7 填充方式,支持PKCS5,经测试PKCS5和pkcs7没多大区别(在多平...
对于"c"这个字母,它是英文字母表里的第三个字母,属于辅音字母。在计算机编程中,它是非常重要的一个字母,因为它是很多编程语言的基础,比如C语言、C++、C#等。C语言是一种底层语言,对计算机的操作很直接,因此很多系统软件和嵌入式软件都是用C语言编写的。C++是在C语言的基础上发展而来的,它支持面向对象编程,所以被广泛应用于游戏开发、图形界面设计等领域。而C#则是微软公司开发的一门面向对象的编程语言,主要用于开发各种Windows平台应用程序。除了在编程中的应用,"c"这个字母也常常出现在音乐中,它代表着"do"音,是一个音阶中的基本音符之一。总的来说,虽然"c"这个字母看起来很简单,但它在不同领域中都具有着举足轻重的影响力。
解决 ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
67977
解决 ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
T- JavaCoder:
解决 ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
cfbsks ²⁰¹⁸:
Java 实现PHP的openssl_encrypt()
hellobobo1982:
解决 ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
何欢小星星:
解决 ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
a华丽的冒险: