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

西凤酒网站建设的目标企业管理咨询网站

西凤酒网站建设的目标,企业管理咨询网站,wordpress前端是什么,wordpress显示文章idJava原生支持常见的加密算法#xff0c;例如DES、RSA。随便写点关于Java安全包的东西。Java.security.Provider对象官方的解释是#xff1a;实现了 Java 安全性的一部分或者全部。provider 可能实现的服务包括#xff1a;算法(如 DSA、RSA、MD5 或 SHA-1)#xff0c;密钥的…Java原生支持常见的加密算法例如DES、RSA。随便写点关于Java安全包的东西。Java.security.Provider对象官方的解释是实现了 Java 安全性的一部分或者全部。provider 可能实现的服务包括算法(如 DSA、RSA、MD5 或 SHA-1)密钥的生成、转换和管理设施(如用于特定于算法的密钥)。每个 provider 有一个名称和一个版本号并且在每个它装入运行时中进行配置。可以通过如下语句查看本地JDK提供的provider类型for(Provider p : Security.getProviders()){System.out.println(p p.getInfo());}javax.crypto.KeyGenerator对象作为对称密钥生成器JavaAPI当中给出的解释是密钥生成器是使用此类的某个 getInstance 类方法构造的。KeyGenerator 对象可重复使用也就是说在生成密钥后可以重复使用同一个 KeyGenerator 对象来生成更多的密钥。生成密钥的方式有两种与算法无关的方式和特定于算法的方式。不多啰嗦可以查看API文档当中强调了一点如果客户端没有显式地初始化 KeyGenerator(通过调用 init 方法)那么每个提供者都必须提供(并记录)默认初始化。javax.crypto.SecretKey对称表示密钥。javax.crypto.spec.IvParameterSpec此类指定一个初始化向量 (IV)。使用 IV 的例子是反馈模式中的密码如CBC 模式中的 DES 和使用 OAEP 编码操作的 RSA 密码。javax.crypto.Cipher此类为加密和解密提供密码功能。它构成了 Java Cryptographic Extension (JCE) 框架的核心。API中的解释是为创建 Cipher 对象应用程序调用 Cipher 的getInstance 方法并将所请求转换的名称传递给它。还可以指定提供者的名称(可选)。转换 是一个字符串它描述为产生某种输出而在给定的输入上执行的操作(或一组操作)。转换始终包括加密算法的名称(例如DES)后面可能跟有一个反馈模式和填充方案。转换具有以下形式“算法/模式/填充”或“算法”(后一种情况下使用模式和填充方案特定于提供者的默认值)。例如以下是有效的转换Cipher c Cipher.getInstance(DES/CBC/PKCS5Padding);好了基本的对象介绍完了下面来看看代码import java.io.IOException;import java.io.UnsupportedEncodingException;import java.security.InvalidAlgorithmParameterException;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import java.security.NoSuchProviderException;import java.security.Provider;import java.security.Security;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 javax.crypto.spec.IvParameterSpec;import sun.misc.BASE64Decoder;public class JavaSecurity {public static void main(String[] args) {JavaSecurity js new JavaSecurity();String test keep foolish , keep hungry;String entryString js.encrypt(test);System.out.println(entryString);String decryptString js.decrypt(entryString);System.out.println(decryptString);}public JavaSecurity(){try {this.init();} catch (NoSuchAlgorithmException | NoSuchProviderException| UnsupportedEncodingException | NoSuchPaddingException e) {e.printStackTrace();}}/*** init()* throws NoSuchAlgorithmException* throws NoSuchProviderException* throws UnsupportedEncodingException* throws NoSuchPaddingException*/public void init() throws NoSuchAlgorithmException, NoSuchProviderException, UnsupportedEncodingException, NoSuchPaddingException{//密钥生成器keyGenerator KeyGenerator.getInstance(DES, SunJCE);//对称密钥key keyGenerator.generateKey();//加解密时的初始化向量 8bytesiv new IvParameterSpec(87654321.getBytes(utf-8));//DES加密算法CBC反馈模式PKCSPadding的填充方案cipher Cipher.getInstance(DES/CBC/PKCS5Padding);}/*** 加密* param str* return* throws InvalidKeyException* throws InvalidAlgorithmParameterException* throws IllegalBlockSizeException* throws BadPaddingException*/public String encrypt(String str) {String returnStr ;try {cipher.init(Cipher.ENCRYPT_MODE, key , iv);} catch (InvalidKeyException | InvalidAlgorithmParameterException e) {// TODO 自动生成的 catch 块e.printStackTrace();}byte[] strByte str.getBytes();//加密byte[] encryStr null;try {encryStr cipher.doFinal(strByte);} catch (IllegalBlockSizeException | BadPaddingException e) {// TODO 自动生成的 catch 块e.printStackTrace();}returnStr new sun.misc.BASE64Encoder().encode(encryStr);return returnStr;}/*** 解密* param str* return* throws InvalidKeyException* throws InvalidAlgorithmParameterException* throws IOException* throws IllegalBlockSizeException* throws BadPaddingException*/public String decrypt(String str) {String returnStr ;try {cipher.init(Cipher.DECRYPT_MODE, key, iv);} catch (InvalidKeyException | InvalidAlgorithmParameterException e) {// TODO 自动生成的 catch 块e.printStackTrace();}byte[] strByte null;try {strByte new BASE64Decoder().decodeBuffer(str);} catch (IOException e) {// TODO 自动生成的 catch 块e.printStackTrace();}byte[] returnStrByte null;try {returnStrByte cipher.doFinal(strByte);} catch (IllegalBlockSizeException | BadPaddingException e) {// TODO 自动生成的 catch 块e.printStackTrace();}returnStr new String(returnStrByte);return returnStr;}/*** 密钥生成器*/private KeyGenerator keyGenerator;/*** 对称密钥* */private SecretKey key;/*** 加解密时的初始化向量 8bytes* */private IvParameterSpec iv;/*** cipher* */private Cipher cipher;}
http://www.yutouwan.com/news/205716/

相关文章:

  • 网站空间购买哪个好广州开发区人才交流服务中心
  • 网站iis7.5配置js多久可以做网站
  • 做竞拍网站合法吗阿里巴巴新网站怎么做运营
  • 制作网站开发项目的方案书国际展览有限公司
  • 电子商务网站硬件建设的核心是深圳企业管理咨询公司
  • 母婴网站dede织梦关键词推广seo
  • 网站建设感想注册建设网站的公司网站
  • 站长工具seo综合查询收费吗iis上做的网站外网怎么访问
  • 丽水建设公司网站厦门网站建设的公司哪家好
  • 网站一键生成app中国网络营销论坛
  • 哪里有网站建设官网谷歌sem和seo区别
  • 做婚纱摄影网站网络优化推广 网站开发建设
  • 哪些网站做的人比较少动态商务网站开发与管理
  • wordpress生成网站模版湛江商城网站开发设计
  • 做网站需注重的几点如何对现有的网站改版
  • 如何免费申请公司网站服装企业网站建设现状
  • 贵州做网站的公司什么是网站静态化
  • 网站怎样做自适应分辨率大小响应式网站预览
  • 自己做网站还是找网站建设公司好网页编辑器dw
  • 微软网站制作软件做网站网站条件
  • 怎么做响应式网站学校网站做等级保护
  • 一站式服务广告语雪人主题WordPress
  • 提高网站流量原则找事做网站怎么弄
  • 自己网站梧州论坛 红豆社区
  • 做网站项目主要技术时代定制
  • 官方网站建设与维护好处做饮品的网站
  • 重庆seo网站排名优化微信建网站
  • 国内的足彩网站怎么做的集团网站建设计划表百度
  • 能看人与动物做的网站wordpress 伪静态 描述
  • 旧安卓手机做网站怎么免费弄网站