栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > .Net

java openssl

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java openssl

importjavax.crypto.BadPaddingException;importjavax.crypto.Cipher;importjavax.crypto.IllegalBlockSizeException;importjavax.crypto.NoSuchPaddingException;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net.URLEncoder;importjava.security.InvalidAlgorithmParameterException;importjava.security.InvalidKeyException;importjava.security.NoSuchAlgorithmException;importjava.util.Base64;

public classSecurityUtil {public static final String KEY = "09bd821d3e764f44899a9dc6";public static final String IV = "2M9tOpWi";public static final String DEFAULT_ENC_NAME = "UTF-8";public staticString java_openssl_encrypt(String data) {returnjava_openssl_encrypt(data, IV);

}

public staticString java_openssl_encrypt(String data, String iv) {try{

Cipher cipher=createCipher(iv, Cipher.ENCRYPT_MODE);returnURLEncoder.encode(Base64.getEncoder().encodeToString(cipher.doFinal(data.getBytes())), DEFAULT_ENC_NAME);

}catch(NoSuchAlgorithmException e) {

e.printStackTrace();

}catch(NoSuchPaddingException e) {

e.printStackTrace();

}catch(InvalidKeyException e) {

e.printStackTrace();

}catch(InvalidAlgorithmParameterException e) {

e.printStackTrace();

}catch(IllegalBlockSizeException e) {

e.printStackTrace();

}catch(BadPaddingException e) {

e.printStackTrace();

}catch(UnsupportedEncodingException e) {

e.printStackTrace();

}return null;

}public staticString java_openssl_decrypt(String data) {returnjava_openssl_decrypt(data, IV);

}

public staticString java_openssl_decrypt(String data, String iv) {try{

Cipher cipher=createCipher(iv, Cipher.DECRYPT_MODE);return newString(cipher.doFinal(Base64.getDecoder().decode(URLDecoder.decode(data, DEFAULT_ENC_NAME))));

}catch(NoSuchAlgorithmException e) {

e.printStackTrace();

}catch(NoSuchPaddingException e) {

e.printStackTrace();

}catch(InvalidKeyException e) {

e.printStackTrace();

}catch(InvalidAlgorithmParameterException e) {

e.printStackTrace();

}catch(UnsupportedEncodingException e) {

e.printStackTrace();

}catch(IllegalBlockSizeException e) {

e.printStackTrace();

}catch(BadPaddingException e) {

e.printStackTrace();

}return null;

}

private static Cipher createCipher(String iv, int mode) throwsNoSuchAlgorithmException, NoSuchPaddingException,

InvalidKeyException, InvalidAlgorithmParameterException {byte[] key =KEY.getBytes();

Cipher cipher= Cipher.getInstance("DESede/CBC/PKCS5Padding");

IvParameterSpec ivParameterSpec= newIvParameterSpec(iv.getBytes());

cipher.init(mode,new SecretKeySpec(key, "DESede"), ivParameterSpec);returncipher;

}

}

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1023839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号