帮忙用PHP实现如下Java的功能
PHP中文网
PHP中文网 2017-04-11 10:16:42
[PHP讨论组]
package com.company;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Arrays;
import javax.crypto.Cipher;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

public class AES256Util {

    private static final byte[] RAW = {50, -115, -81, -50, -32, 55, -120, 112, 4, -98, -78, -8, 5, 56, -46, -19};

    // 加密
    public static String encrypt(String s) throws Exception {

        byte[] raw = Arrays.copyOf(RAW, 16);
        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        IvParameterSpec iv = new IvParameterSpec(raw);
        cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
        byte[] encrypted = cipher.doFinal(s.getBytes("UTF-8"));
        return URLEncoder.encode(new String(encrypted,"ISO-8859-1"), "ISO-8859-1");
    }

    // 解密
    public static String decrypt(String s) throws Exception {
        byte[] raw = Arrays.copyOf(RAW, 16);
        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        IvParameterSpec iv = new IvParameterSpec(raw);
        cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
        byte[] encrypted = URLDecoder.decode(s, "ISO-8859-1").getBytes("ISO-8859-1");
        byte[] original = cipher.doFinal(encrypted);
        String originalString = new String(original, "UTF-8");
        return originalString;
    }

    public static void main(String args[]) throws Exception {
        String msg = AES256Util.encrypt("我只是个测试!");
        System.out.println(msg);
        System.out.println(AES256Util.decrypt(msg));
    }
}
PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
PHP中文网

你给你一个结果,比如加密 我只是个测试! 密文 是什么? 多加密几个。

提供,明文 和 密文,然后用php实现的时候 才知道 明文 加密后 密文 对不对呀。

PHP中文网

http://www.thinkphp.cn/topic/...

看看这个写的挺多的 关于aes加密

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号