700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java加密算法分享(rsa解密 对称加密 md5加密)

java加密算法分享(rsa解密 对称加密 md5加密)

时间:2022-02-26 08:29:26

相关推荐

java加密算法分享(rsa解密 对称加密 md5加密)

Java|java教程

java 加密算法 rsa md5

Java-java教程

android蓝牙控制跑马灯源码,ubuntu支持几个版本,床上出现的爬虫,php brophp,无锡seo规则lzw

import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;import java.security.PublicKey;import java.security.SecureRandom;import javax.crypto.BadPaddingException;import javax.crypto.Cipher;import javax.crypto.IllegalBlockSizeException;import javax.crypto.KeyGenerator;import javax.crypto.NoSuchPaddingException;import javax.crypto.SecretKey;import com.sun.mail.util.BASE64DecoderStream;import com.sun.mail.util.BASE64EncoderStream;public class util { /*** 传入名文和公钥钥对数据进行RSA解密*

返回值:String*

@param src*

@param pubkey*

@return*/ public static String rsaEncoding(String src,PublicKey pubkey){ try { Cipher cip = Cipher.getInstance("RSA"); cip.init(cip.ENCRYPT_MODE, pubkey); byte[] by = cip.doFinal(src.getBytes()); return new String(BASE64EncoderStream.encode(by)); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } catch (NoSuchPaddingException e) { throw new RuntimeException(e); } catch (InvalidKeyException e) { throw new RuntimeException(e); } catch (IllegalBlockSizeException e) { throw new RuntimeException(e); } catch (BadPaddingException e) { throw new RuntimeException(e); } } /*** 传入RSA密文和私钥对数据进行解密*

返回值:String*

@param sec*

@param privkey*

@return*/ public static String rsaDeEncoding(String sec,PrivateKey privkey){ try { Cipher cip = Cipher.getInstance("RSA"); cip.init(cip.DECRYPT_MODE, privkey); byte[] by = BASE64DecoderStream.decode(sec.getBytes()); return new String(cip.doFinal(by)); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } catch (NoSuchPaddingException e) { throw new RuntimeException(e); } catch (InvalidKeyException e) { throw new RuntimeException(e); } catch (IllegalBlockSizeException e) { throw new RuntimeException(e); } catch (BadPaddingException e) { throw new RuntimeException(e); } } /*** 传入字符串、密钥,并加密字符串(对称加密加密),支持:DES、AES、DESede(3DES)*

返回值:String 密文*

@param src*

@param key*

@param method(DES、AES、DESede)*

@return*/ //对称加密加密 public static String doubKeyEncoding(String src,String keysrc,String method) { SecretKey key; try { //生成密钥 KeyGenerator kg = KeyGenerator.getInstance(method); //初始化此密钥生成器。 kg.init(new SecureRandom(keysrc.getBytes("utf-8"))); key = kg.generateKey(); //加密 Cipher ciph = Cipher.getInstance(method); ciph.init(Cipher.ENCRYPT_MODE, key); ciph.update(src.getBytes("utf-8")); //使用64进行编码,一避免出现丢数据情景 byte[] by = BASE64EncoderStream.encode(ciph.doFinal()); return new String(by); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } catch (NoSuchPaddingException e) { throw new RuntimeException(e); } catch (InvalidKeyException e) { throw new RuntimeException(e); } catch (IllegalBlockSizeException e) { throw new RuntimeException(e); } catch (BadPaddingException e) { throw new RuntimeException(e); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } /*** 传入字符串、密钥、加密方式,并解密字符串(对称加密解密密),支持:DES、AES、DESede(3DES)*

生成时间:5月2日 下午1:12:13*

返回值:String 密钥原文*

@param sec*

@param key*

@param method(DES、AES、DESede)*

@return*/ public static String doubKeyDencoding(String sec,String keysrc,String method) { SecretKey key; try { //生成密钥 KeyGenerator kg = KeyGenerator.getInstance(method); //初始化此密钥生成器。 kg.init(new SecureRandom(keysrc.getBytes("utf-8"))); key = kg.generateKey(); //加密 Cipher ciph = Cipher.getInstance(method); ciph.init(ciph.DECRYPT_MODE, key); //使用64进行解码,一避免出现丢数据情景 byte[] by = BASE64DecoderStream.decode(sec.getBytes()); ciph.update(by); return new String(ciph.doFinal()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } catch (NoSuchPaddingException e) { throw new RuntimeException(e); } catch (InvalidKeyException e) { throw new RuntimeException(e); } catch (IllegalBlockSizeException e) { throw new RuntimeException(e); } catch (BadPaddingException e) { throw new RuntimeException(e); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } /*** 单向信息加密(信息摘要),支持:md5、md2、SHA(SHA-1,SHA1)、SHA-256、SHA-384、SHA-512,*

返回值:String 加密后的密文*

@param src传入加密字符串(明文)*

@param method 指定算法(md5、md2、SHA(SHA-1,SHA1)、SHA-256、SHA-384、SHA-512)*

@return*/ public static String ecodingPasswd(String src,String method){ try { //信息摘要算法 MessageDigest md5 = MessageDigest.getInstance(method); md5.update(src.getBytes()); byte[] encoding = md5.digest(); //使用64进行编码,一避免出现丢数据情景 return new String(BASE64EncoderStream.encode(encoding)); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e+"加密失败!!"); } }}

更多java加密算法分享(rsa解密、对称加密、md5加密)相关文章请关注PHP中文网!

微信公共账号营销平台 源码,比vscode,ubuntu 安装花生壳,增减tomcat,sqlite 修改 编码,php 当前服务器地址,wordpres适配插件,前端开发 框架 VUE,python爬虫 js,php开发组,蜜芽seo,生活服务类网站源码,易语言 网页游戏 教程视频教程,跳转页面模板,html页面滚动文字,整形医院综合管理系统,易语言程序过木马加载模块lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。