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

php做网站好吗最近三天的新闻大事摘抄

php做网站好吗,最近三天的新闻大事摘抄,池州市住房和城乡建设委员会网站,医院网站源码php这里写自定义目录标题 背景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.yidumall.com/news/99382.html

相关文章:

  • wordpress优化加速seo网站推广如何做
  • 网站排名优化是怎么做的什么优化
  • 网站制作价格报表产品网站推广
  • 怎么制作网站主题搜索引擎关键词优化
  • 网站建设公司伟置如何点击优化神马关键词排名
  • 湘潭网站湖南竞价优化哪家好
  • wordpress 怎样写函数页面优化
  • 深圳做网站排名公司哪家好新媒体营销成功案例
  • 可以提供排版的网站哈尔滨关键词优化方式
  • 厦门网站建设官网软文兼职10元一篇
  • 潍坊大型网站建设平台泰安seo推广
  • 统计网站的代码怎么做百度推广的代理
  • wordpress恢复备份数据库福建seo排名培训
  • 亦庄网站设计百度一下你就知道首页
  • 吉安高端网站建设公司海外自媒体推广
  • 网站安全检测漏洞扫描风险等级推广软件平台
  • p图做网站兼职上海优化价格
  • 高质量外链平台网络优化师是什么工作
  • 常州网站建设 个人培训机构排名前十
  • 苏州高端网站建设设计公司哪家好广告公司的业务范围
  • 网站做支付宝花呗分期东莞网站建设工作
  • 太原网站建设与维护安卓优化大师老版本
  • 网站客服漂浮广告代码优化大师win10能用吗
  • 政府网站建设思路黄页引流推广网站软件免费
  • 做销售网站那家好无锡哪里有做网站的
  • 东莞免费自助建站模板网络优化工作内容
  • 网站建设合同范文seo搜索排名优化
  • asp.net做的网站要放到网上空间去_要放哪些文件上去百度搜索资源平台
  • wordpress二次开发视频广州seo优化公司排名
  • 小型教育网站开发营销和销售的区别