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

网站优化北京如何联系?网站嵌入英文地图

网站优化北京如何联系?,网站嵌入英文地图,广南酒店网站建设,自己开发网站要多少钱大家好#xff0c;我是烤鸭:今天分享的是java 和 php des 加密。因为接口对接#xff0c;难免不同语言#xff0c;加密又是必不可少的。作为接口的提供方#xff0c;必须把加密规则写好#xff0c;最好有不同语言的加密demo。1. java版本的des加密解密工具类DESTools.j…大家好我是烤鸭:今天分享的是java 和 php des 加密。因为接口对接难免不同语言加密又是必不可少的。作为接口的提供方必须把加密规则写好最好有不同语言的加密demo。1.    java版本的des加密解密工具类DESTools.java package com.xxxx.xxx.util;import java.security.Key;import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import org.apache.commons.codec.binary.Base64;public class DESTools {public static DESTools instance;public static DESTools getInstace(){if(instance null){instance new DESTools();}return instance;}Key key;/*** 密钥*/private static byte[] BOSS_SECRET_KEY { 0x0c, 0x13, (byte) 0xe7,(byte) 0xb2, 0x51, 0x0d, 0x75, (byte) 0xc3, 0x4f, (byte) 0xdd,(byte) 0x4e, (byte) 0x51, 0x24, 0x36, (byte) 0xa6, (byte) 0x28,0x0b, 0x13, (byte) 0xe2, (byte) 0xb8, 0x31, 0x0d, 0x75, (byte) 0xc1 };private String key2 0b13e7b2510d75c24edd4b512436a8280b13e2b2310d75c1;public DESTools() {setKey(BOSS_SECRET_KEY);}/*** 根据参数生成KEY*/public void setKey(byte[] strKey) {try {System.out.println(bytesToHexFun3(BOSS_SECRET_KEY));DESKeySpec dks new DESKeySpec(BOSS_SECRET_KEY);SecretKeyFactory keyFactory;keyFactory SecretKeyFactory.getInstance(DES);this.key keyFactory.generateSecret(dks);} catch (Exception e) {throw new RuntimeException(Error initializing DESTOOLS class. Cause: e);}}/*** 加密String明文输入,String密文输出*/public String getEncString(String strMing) {byte[] byteMi null;byte[] byteMing null;String strMi ;Base64 base64en new Base64();try {byteMing strMing.getBytes(UTF8);byteMi this.getEncCode(byteMing);strMi base64en.encodeAsString(byteMi);} catch (Exception e) {throw new RuntimeException(Error initializing DESTOOLS class. Cause: e);} finally {base64en null;byteMing null;byteMi null;}return strMi;}/*** 解密 以String密文输入,String明文输出* param strMi* return*/public String getDesString(String strMi) {Base64 base64De new Base64();byte[] byteMing null;byte[] byteMi null;String strMing ;try {byteMi base64De.decode(strMi);byteMing this.getDesCode(byteMi);strMing new String(byteMing, UTF8);} catch (Exception e) {throw new RuntimeException(Error initializing DESTOOLS class. Cause: e);} finally {base64De null;byteMing null;byteMi null;}return strMing;}/*** 加密以byte[]明文输入,byte[]密文输出* param byteS* return*/private byte[] getEncCode(byte[] byteS) {byte[] byteFina null;Cipher cipher;try {cipher Cipher.getInstance(DES);cipher.init(Cipher.ENCRYPT_MODE, key);byteFina cipher.doFinal(byteS);} catch (Exception e) {throw new RuntimeException(Error initializing DESTOOLS class. Cause: e);} finally {cipher null;}return byteFina;}/*** 解密以byte[]密文输入,以byte[]明文输出* param byteD* return*/private byte[] getDesCode(byte[] byteD) {Cipher cipher;byte[] byteFina null;try {cipher Cipher.getInstance(DES);cipher.init(Cipher.DECRYPT_MODE, key);byteFina cipher.doFinal(byteD);} catch (Exception e) {throw new RuntimeException(Error initializing DESTOOLS class. Cause: e);} finally {cipher null;}return byteFina;}public static void main(String[] args) {DESTools desTools new DESTools();String string desTools.getEncString(19760519);System.out.println(string);}/*** 将16进制字符串转换为byte[]* * param str* return*/public static byte[] toBytes(String str) {if(str null || str.trim().equals()) {return new byte[0];}byte[] bytes new byte[str.length() / 2];for(int i 0; i str.length() / 2; i) {String subStr str.substring(i * 2, i * 2 2);bytes[i] (byte) Integer.parseInt(subStr, 16);}return bytes;}/*** 方法三* byte[] to hex string* * param bytes* returnfor(byte b : bytes) { // 使用String的format方法进行转换buf.append(String.format(%02x, new Integer(b 0xff)));}return buf.toString();} } 可以看出秘钥是16进制的byte数组先用上面的 bytesToHexFun3 方法获取字符串 得到的就是秘钥就是    0b13e7b2510d75c24edd4b512436a8280b13e2b2310d75c1运行main方法对123456就行加密得到aKZ47zrp0I再解密2.    相同的php加密和解密方法 ?php $str 0c13e7b2510d75c34fdd4e512436a6280b13e2b8310d75c1; $string des_ecb_encrypt(123456,Hex2String($str)); echo 加密结果,$string;echo 换行;; echo 解密结果,des_ecb_decrypt($string,Hex2String($str));function Hex2String($hex){$string;for ($i0; $i strlen($hex)-1; $i2){$string . chr(hexdec($hex[$i].$hex[$i1]));}return $string; } function des_ecb_encrypt($data, $key){return openssl_encrypt ($data, des-ecb, $key); } function des_ecb_decrypt ($data, $key){return openssl_decrypt ($data, des-ecb, $key); } ? $str 就是上面java加密解密的key先转换成16进制byte数组再进行加密解密。 主要调用的是openssl的des加密方法。 还有别的加密模式可以参考这篇    https://www.36nu.com/post/252 如果你没安装wampserver的话安装可以参考这篇。https://blog.csdn.net/Angry_Mills/article/details/80790522 或者你懒得安装也可以在线调试php代码。 在线调试地址    https://c.runoob.com/compile/1 调试结果如图
http://www.pierceye.com/news/857584/

相关文章:

  • 重庆模板建站定制网站做企业网站到哪里找
  • asp技术做网站网站建设推广是什么工作室
  • 运营公众号还是做网站室内装修设计软件哪个好用
  • 卖营销软件的网站如何利用站群做网站
  • 网站空间价格怎么算网站制作与发布
  • 做网站的动态图片廊坊做网站哪家好
  • 建设企业网站报价怎么做网站logo
  • 企业类网站谷歌seo招聘
  • asp.net网站安装顺序idc 公司网站模板
  • 新手学做网站优化2022app分类排行
  • 微信微网站制作公司2008年做的网站
  • 网站建设柒首先金手指1男孩做网站
  • 葫芦岛市建设局网站网页制作与网站发布
  • 企业网站首页布局尺寸营销网站建设哪家便宜
  • 专题网站建设策划郑州市做网站的公
  • wordpress網頁版天津百度网站排名优化
  • 做网站建设销售工资代做电大网站ui作业
  • DMZ做网站wordpress 小工具 创建
  • 宠物网站建设方案外贸网站建设公司服务
  • 玉林网站建设学校门户网站建设的意义
  • 湖南营销型网站建设 在线磐石网络现在出入河南最新规定
  • 阿里云虚拟主机网站国内十大mcn公司
  • c 做网站起什么作用电商建站系统
  • wordpress 网站 上传微信公众平台直接上传wordpress
  • 北滘高明网站建设电子商城网站建设价格
  • 根据一个网站仿做新网站是什么网站代理公司注册收费
  • 创业给企业做网站开发青岛公司建设网站
  • 银川网站建设联系电话郑州网站建设廴汉狮网络
  • 在兔展上怎么做网站页面高端企业网站建站
  • 网站开发 调试网站做seo推广方案