当前位置: 首页 > news >正文

北镇做网站快速建站哪个平台好

北镇做网站,快速建站哪个平台好,第三方平台广告营销是什么,wordpress安装包文件夹这里写自定义目录标题 背景JAVA代码解决思路PHP解密 背景 公司PHP开发对接一个Java项目接口,接口返回数据有用DESede/ECB/PKCS5Padding加密,并且key也使用了SHA1PRNG加密了,网上找了各种办法都不能解密,耗了一两天的时间&#xf…

这里写自定义目录标题

  • 背景
  • JAVA代码
  • 解决思路
    • PHP解密

背景

公司PHP开发对接一个Java项目接口,接口返回数据有用DESede/ECB/PKCS5Padding加密,并且key也使用了SHA1PRNG加密了,网上找了各种办法都不能解密,耗了一两天的时间,一度怀疑人生……

JAVA代码

public class DESUtil {private static final String KEY_ALGORITHM = "DESede";private static final String DEFAULT_CIPHER_ALGORITHM = "DESede/ECB/PKCS5Padding";/* DES加密 */public static String encrypt(String content, final String key) {try {Cipher cipher = Cipher.getInstance(DEFAULT_CIPHER_ALGORITHM);byte[] byteContent = content.getBytes(StandardCharsets.UTF_8.name());cipher.init(Cipher.ENCRYPT_MODE, getSecretKey(key));byte[] result = cipher.doFinal(byteContent);return Base64.encodeBase64String(result);} catch (Exception ex) {log.error("【DES加密失败】:", ex);}return null;}/* DES解密 */public static String decrypt(String content, final String key) {try {Cipher cipher = Cipher.getInstance(DEFAULT_CIPHER_ALGORITHM);cipher.init(Cipher.DECRYPT_MODE, getSecretKey(key));byte[] result = cipher.doFinal(Base64.decodeBase64(content));return new String(result, StandardCharsets.UTF_8.name());} catch (Exception ex) {log.error("【DES解密失败】:", ex);}return null;}public static SecretKeySpec getSecretKey(final String key) {KeyGenerator kg = null;try {kg = KeyGenerator.getInstance(KEY_ALGORITHM);SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");secureRandom.setSeed(key.getBytes(StandardCharsets.UTF_8.name()));kg.init(secureRandom);SecretKey secretKey = kg.generateKey();return new SecretKeySpec(secretKey.getEncoded(), KEY_ALGORITHM);} catch (NoSuchAlgorithmException ex) {log.error("【DES生成秘钥失败】:", ex);} catch (UnsupportedEncodingException e) {log.error("【DES生成秘钥失败】:", e);}return null;}
}

解决思路

终于找到了一个类似问题,可是要会员才能看,作为一名穷DS,哪有这么富有,灵机一动在某鱼花了1大洋看了解决思路,果然是金钱的力量,功夫不负有心人啊,终于寻到stackoverflow有个类似问题。

在这里插入图片描述

上面Java代码中的secretKey变量的比特值,使用Base64Utils.encode后得到base64字符串
然后在php中使用base64_decode解码串,得到密钥key

PHP解密

/* 3DES解密 */public function desDecrypt($content) {$key=$this->config['desKey'];$key=base64_decode($key);$content = base64_decode($content);// 解密数据$plaintext = openssl_decrypt($content, 'DES-EDE3', $key, OPENSSL_RAW_DATA);return $plaintext;}
http://www.tj-hxxt.cn/news/38945.html

相关文章:

  • 小程序saas系统windows10优化软件
  • wordpress网站在线安装成人职业培训机构
  • 武汉企业网站优化关键词排名什么意思
  • 诸城网站建设公司软文是什么样子的
  • 公司介绍网站源码推荐6个免费国外自媒体平台
  • 自己做烘焙的网站seo还有未来吗
  • 国家工业和信息化部网站备案系统日本搜索引擎
  • 个人网站做企业网站百度知道登录
  • 什么网站可以免费做护师题竞价外包托管费用
  • 莱芜吧诚意带大家修车长春seo排名优化
  • 邢台网站建设要多少钱南通百度seo代理
  • 如何测试自己做的网站百度网页版浏览器入口
  • 网站建设网站今日重大事件
  • 软件外包公司靠谱吗企业seo排名优化
  • 网站收缩引擎入口免费推广的app有哪些
  • 无锡设计搜索引擎排名优化价格
  • app营销策划方案杭州网站优化
  • 珠海澳门网站建设公司哪家好网站地址ip域名查询
  • 布吉医院网站建设宁波网站推广公司价格
  • 云建站管理区武汉网络推广优化
  • 大连能做网站的公司有友情贴吧
  • 专业做网站套餐热门推广软件
  • 深圳网站开发的公司电话1688如何搜索关键词排名
  • 自己怎么做 优惠券网站代运营一家店铺多少钱
  • 做网站用的字体是什么最新战争新闻事件今天
  • 新网站成立如何做测试计划网站入口百度
  • 杭州网站制作模板福州短视频seo
  • 有没有外国网站可以做兼职翻译的看b站视频下载软件
  • 肇庆网站建设哈尔滨seo服务
  • wordpress文章添加分享代码首页排名关键词优化