开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 912|回复: 7
收起左侧

[完成] 请帮忙用易语言调用一下java包实现ASE解密

 关闭 [复制链接]
结帖率:100% (2/2)
发表于 2022-8-31 13:01:14 | 显示全部楼层 |阅读模式   江苏省宿迁市
60精币
请帮忙用易语言调用一下java包实现ASE解密
密钥:rkNzUfpRzx9J

如能实现易语言直接ASE解密更好了!





补充内容 (2022-8-31 13:38):
AesUtil.decryptCode(str, "rkNzUfpRzx9J");

AesUtil.zip

1.32 KB, 下载次数: 5, 下载积分: 精币 -1 枚

java文件

最佳答案

查看完整内容

目测是 字节集_十六进制到字节集("密文") 而不是 编码_BASE64解码 (“密文”)
结帖率:50% (2/4)

签到天数: 20 天

发表于 2022-8-31 13:01:15 | 显示全部楼层   福建省厦门市
byte[] encrypted1 = hex2byte(sSrc);


目测是
字节集_十六进制到字节集("密文")  而不是   编码_BASE64解码 (“密文”)

点评

感谢!!解决问题了!!!   江苏省宿迁市  发表于 2022-8-31 15:06

评分

参与人数 2好评 +1 精币 +2 荣誉 +1 收起 理由
项目部004 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!
flaswf + 1 + 2 感谢分享,很给力!~

查看全部评分

回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

 楼主| 发表于 2022-8-31 13:03:15 | 显示全部楼层   江苏省宿迁市
如能实现易语言直接AES解密更好了!
回复

使用道具 举报

结帖率:97% (97/100)

签到天数: 19 天

发表于 2022-8-31 13:23:16 | 显示全部楼层   江西省吉安市
到文本 (对称解密 (编码_BASE64解码 (“密文”), 到字节集 (“密钥”), #对称算法_AES_ECB, 5, ))
引用: 精易模块

评分

参与人数 1好评 +1 精币 +2 收起 理由
flaswf + 1 + 2 支持开源~!感谢分享

查看全部评分

回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

 楼主| 发表于 2022-8-31 13:28:14 | 显示全部楼层   江苏省宿迁市
悟空科技 发表于 2022-8-31 13:23
到文本 (对称解密 (编码_BASE64解码 (“密文”), 到字节集 (“密钥”), #对称算法_AES_ECB, 5, ))
引用:  ...

谢谢大神回复,我这边解密出来的是乱码呢!
QQ截图20220831132719.png
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

 楼主| 发表于 2022-8-31 13:36:52 | 显示全部楼层   江苏省宿迁市
/**
         * AES解密 用于数据库储存
         *
         * @param sSrc
         * @param sKey
         * @return
         * @throws Exception
         */
        public static String decrypt(String sSrc, String key) {

                String sKey = secureBytes(key);

                try {
                        // 判断Key是否正确
                        if (sKey == null) {
                                // LogUtil.d("AesUtil", "Key为空null");
                                return null;
                        }
                        // 判断Key是否为16位
                        if (sKey.length() != 16) {
                                System.out.println("长度不是16");
                                // LogUtil.d("AesUtil", "Key长度不是16位");
                                sKey = secureBytes(sKey);
                        }
                        byte[] raw = sKey.getBytes("ASCII");
                        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
                        Cipher cipher = Cipher.getInstance("AES");
                        cipher.init(Cipher.DECRYPT_MODE, skeySpec);
                        byte[] encrypted1 = hex2byte(sSrc);
                        try {
                                byte[] original = cipher.doFinal(encrypted1);

                                String originalString = new String(original, "utf-8");
                                // String originalString = new String(original, "GBK");

                                return originalString;
                        } catch (Exception e) {
                                return null;
                        }
                } catch (Exception ex) {
                        return null;
                }

        }

        public static String encrypt4Contacts(String sSrc) {
                return sSrc;
        }


回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 1 天

 楼主| 发表于 2022-8-31 13:37:44 | 显示全部楼层   江苏省宿迁市
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

/**
*
* @author shen_feng 加密解密
*/
public class AesUtil {

        // static String sKey = "HOPERUN.COM";

        /**
         * 密钥如超过16位,截至16位,不足16位,补/000至16位
         *
         * @param key原密钥
         * @Return 新密钥
         */
        public static String secureBytes(String key) {
                if (key.length() > 16) {
                        key = key.substring(0, 16);
                } else if (key.length() < 16) {
                        for (int i = (key.length() - 1); i < 15; i++) {
                                key += "\000";
                        }
                }
                return key;
        }

        /**
         * AES解密 用于数据库储存
         *
         * @param sSrc
         * @param sKey
         * @return
         * @throws Exception
         */
        public static String decryptCode(String sSrc, String key) {

                String sKey = secureBytes(key);

                try {
                        // 判断Key是否正确
                        if (sKey == null) {
                                // LogUtil.d("AesUtil", "Key为空null");
                                return null;
                        }
                        // 判断Key是否为16位
                        if (sKey.length() != 16) {
                                // LogUtil.d("AesUtil", "Key长度不是16位");
                                sKey = secureBytes(sKey);
                        }
                        byte[] raw = sKey.getBytes("ASCII");
                        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
                        Cipher cipher = Cipher.getInstance("AES");
                        cipher.init(Cipher.DECRYPT_MODE, skeySpec);
                        byte[] encrypted1 = hex2byte(sSrc);
                        try {
                                byte[] original = cipher.doFinal(encrypted1);
                                String originalString = new String(original, "GBK");
                                return originalString;
                        } catch (Exception e) {
                                return null;
                        }
                } catch (Exception ex) {
                        return null;
                }

        }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表