php实现desede,DESede/ECB/PKCS5Padding 3des 加密 返回十六进制 Java和PHP通用 | 酷客365

请注意 : key 必须 24位,PHP7.1或者以上用,openssl_encrypt 中的 method :DES-EDE3 ,对应Java中的DESede/ECB

Java用法

public static String byte2hex(byte[] b) {

String hs="";

String stmp="";

for (int n=0;n

stmp=(java.lang.Integer.toHexString(b[n] & 0XFF));

if (stmp.length()==1) hs=hs+"0"+stmp;

else hs=hs+stmp;

if (n

}

return hs.toUpperCase();

}

public static void main(String[] args) throws NoSuchPaddingException, NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {

String txt="66666";

String key="123456781234567812345678"; // 必须24位

//加密

String keyStr = key;

byte key_byte[] = keyStr.getBytes();// 3DES 24 bytes key

SecretKey k = new SecretKeySpec(key_byte, "DESede");

javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("DESede");

cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, k);

byte[] b = cipher.doFinal(txt.getBytes("utf-8"));

String enc_txt = byte2hex(b);

System.out.println(enc_txt);

}

PHP用法

$miwen = openssl_encrypt('66666', 'DES-EDE3', '123456781234567812345678',OPENSSL_RAW_DATA);

var_dump(bin2hex($miwen));

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值