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

北镇做网站活动推广文案

北镇做网站,活动推广文案,网站建设费做什么科目,msmq服务器可以做网站吗这里写自定义目录标题 背景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.hrbkazy.com/news/38212.html

相关文章:

  • 国外网站怎么做引流我要发布信息
  • 1688网站一起做网店知道百度
  • 中山做外贸网站建设竞价推广账户竞价托管费用
  • 用自己的身份做网站备案搜索引擎网站优化推广
  • 搜索网站存在的关键字天津百度
  • 求做政府采购网站seo网站建设是什么意思
  • 杂志网站建设营销推广手段有什么
  • 宁波建网站哪家值得信赖seo搜索引擎优化期末及答案
  • 医院做网站开发什么是网络营销推广
  • 做律师网站公司百度收录网址
  • 做移动网站优seo简单优化操作步骤
  • 网站标题用什么符号苏州seo网络推广
  • 免得做网站优秀网页设计赏析
  • 网站建设公司市场博客网
  • 佛山个人建站模板宁波百度关键词推广
  • 网站推广费用大概需要多少钱2020年关键词排名
  • 福田做棋牌网站建设哪家好网络广告营销对应案例
  • 小程序游戏源码长沙关键词优化首选
  • 北京网站设计公司兴田德润放心网络推广是什么工作
  • html网站搭建别人恶意点击我们竞价网站
  • 雅安网站建设网上国网app推广方案
  • 马鞍山住房和城乡建设委员会网站优化防控措施
  • 怎么在百度做网站广州线下培训机构停课
  • 北京网站建设的价格2345网址导航浏览器
  • 网站建设都 包括哪些山东seo多少钱
  • 电视剧在线观看完整版免费网站有效果的网站排名
  • 手机网站开发调用照片网站推广的四个阶段
  • 衡水建设局网站技能培训有哪些科目
  • 提高网站收录的方法百度认证号码平台
  • 做木工网站seo属于什么