3des加密 java php_php 3DES加密如何兼容Java
Java源碼:
import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class ThreeDES {
private static final String Algorithm = "DESede"; //定義 加密算法,可用 DES,DESede,Blowfish
//keybyte為加密密鑰,長度為24字節
//src為被加密的數據緩沖區(源)
public static byte[] encryptMode(byte[] keybyte, byte[] src) {
try {
//生成密鑰
SecretKey deskey = new SecretKeySpec(keybyte, Algorithm);
//加密
Cipher c1 = Cipher.getInstance(Algorithm);
c1.init(Cipher.ENCRYPT_MODE, deskey);
return c1.doFinal(src);
} catch (java.security.NoSuchAlgorithmException e1) {
e1.printStackTrace();
} catch (javax.crypto.NoSuchPaddingException e2) {
e2.printStackTrace();
} catch (java.lang.Exception e3) {
e3.printStackTrace();
}
return null;
}
//keybyte為加密密鑰,長度為24字節
//src為加密后的緩沖區
public static byte[] decryptMode(byte[] keybyte, byte[] src) {
try {
//生成密鑰
SecretKey deskey = new SecretKeySpec(keybyte, Algorithm);
//解密
Cipher c1 = Cipher.getInstance(Algorithm);
c1.init(Cipher.DECRYPT_MODE, deskey);
return c1.doFinal(src);
} catch (java.security.NoSuchAlgorithmException e1) {
e1.printStackTrace();
} catch (javax.crypto.NoSuchPaddingException e2) {
e2.printStackTrace();
} catch (java.lang.Exception e3) {
e3.printStackTrace();
}
return null;
}
//轉換成十六進制字符串
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();
}
總結
以上是生活随笔為你收集整理的3des加密 java php_php 3DES加密如何兼容Java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: YY浏览器如何清理浏览器缓存?
- 下一篇: php值比较大小,PHP_PHP浮点比较