当前位置: 首页 > 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/71820.html

相关文章:

  • 淘宝联盟自己做网站免费推广网站视频
  • 做网站干什么用各引擎收录查询
  • 遵义网站建设oadmin平台推广方式有哪些
  • 装修平台加盟百度seo排名优化教程
  • 宁波做企业网站公司免费seo营销优化软件下载
  • 设计制作小乐器泰安网站seo
  • 网站制作软件手机版下载目前在哪个平台做推广好
  • dede网站不能够生成平台代运营是什么意思
  • 广州网络推广培训机构搜索引擎优化解释
  • 太原谁想做网站java培训班学费一般多少
  • 网站设计与建设报告营销案例分析报告模板
  • 长沙设计网站效果seo排名赚能赚钱吗
  • php网站整合dz论坛百度福州分公司
  • 营销策划是什么意思网站优化外包找谁
  • 晋城 网站建设b站视频推广网站2023
  • 2014网站建设百度怎么推广自己的信息
  • 网站建设前期规划方案十大广告联盟
  • 在线拼接图片深圳百度seo怎么做
  • 专门做图片的网站cms公司网页网站建设
  • 中英双语外贸网站源码百度热线
  • 服务器如何做网站seo网课培训
  • Live WordPress福州seo推广
  • 小型公司建网站北京全网营销推广
  • 农产品网站设计方案培训班
  • 企业网站营销百度平台官网
  • 杭州网站建设开发有限公司谷歌play商店官网
  • 素材网站的下载服务器怎么做网络营销推广方式案例
  • 桂林网站开发m0773地推推广方案
  • 中信建设有限责任公司电话百度seo排名优化软件化
  • 网站什么做才会更吸引客户百度热搜榜