【前言】Java加解密系列,根据实际开发进度,不定期更新

【下载】在Oracle网站上搜索, Unlimited Strength Jurisdiction Policy Files这个关键字,然后按照所安装的JDK版本选择对应的授权文件,比如我的是JDK8,就选择了这个

【安装】

下载完这个zip包后,里面有两个jar包和一个readme.txt文件。

按照README.txt里的说明进行安装。注意区别开发环境用的JRE在JDK里面,运行环境的JRE是单独的环境。在我的Mac上,JRE是装在JDK里的,对应路径是/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre

进入到授权文件安装的目录下

/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/lib/security能够查看到默认是有local_policy.jar 和  US_export_policy.jar的,改个名字保存一下。

然后复制压缩包里的文件到/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/lib/security目录下,这样就安装完成了。

【验证】

可以用下面的程序验证一下

public static void securityVerify() throws Exception {

byte[] data = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };

// create a 64 bit secret key from raw bytes

SecretKey key64 = new SecretKeySpec(

new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 },

"Blowfish");

// create a cipher and attempt to encrypt the data block with our key

Cipher c = Cipher.getInstance("Blowfish/ECB/NoPadding");

c.init(Cipher.ENCRYPT_MODE, key64);

c.doFinal(data);

System.out.println("64 bit test: passed");

// create a 192 bit secret key from raw bytes

SecretKey key192 = new SecretKeySpec(

new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,

0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,

0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 },

"Blowfish");

// now try encrypting with the larger key

c.init(Cipher.ENCRYPT_MODE, key192);

c.doFinal(data);

System.out.println("192 bit test: passed");

System.out.println("Tests completed");

}

如果是默认配置,

返回类似

64 bit test: passed

Exception in thread "main" java.lang.SecurityException:

Unsupported keysize or algorithm parameters

at javax.crypto.Cipher.init(...)

at chapter1.SimplePolicyTest.main(SimplePolicyTest.java:38)

如果是替换后,返回

64 bit test: passed

192 bit test: passed

Tests completed

java jce 授权_【Java加密】(一)JCE配置加密算法强度不受限授权的安装相关推荐

  1. java取负数_[Java] 告别“CV 工程师”码出高效!(基础篇)

    作为一名资深的 CV 工程师,某天,当我再一次日常看见满屏的报错信息与键盘上已经磨的泛白的 Ctrl.C.V 这三个按键时,我顿悟了. 百度谷歌复制粘贴虽然很香,但是总是依靠前人种树,终会有一天失去乘 ...

  2. java控制语句练习题_[Java初探实例篇02]__流程控制语句知识相关的实例练习

    本例就流程控制语句的应用方面,通过三个练习题来深入学习和巩固下学习的流程控制语句方面的知识,设计到,if条件判断语句,switch多分支语句,for循环语句及其嵌套多层使用,while循环语句. 练习 ...

  3. java 文本压缩_[Java基础]Java使用GZIP进行文本压缩

    import java.io.IOException; import java.util.zip.GZIPOutputStream; import org.apache.commons.io.outp ...

  4. java private 对象_[Java笔记]类的所有构造器都是private权限,就一定没有办法实例化它的对象了么?...

    笔者以前学过C++语言.众所周知,C++也是一门面向对象程序设计语言.还记得当时在大学的时候,老师讲过这样的话:类的构造函数不应该设置成private权限,这样的话还怎么去实例化类的对象?当时也信以为 ...

  5. java word 饼图_[Java教程]echarts标准饼图解读(一)——基本配置demo

    [Java教程]echarts标准饼图解读(一)--基本配置demo 0 2016-11-21 17:00:18 echarts标准饼图解读共分为四部分, 一.基本配置demo 二.标题(title) ...

  6. java resources 目录_[Java] 在 jar 文件中读取 resources 目录下的文件

    注意两点: 1. 将资源目录添加到 build path,确保该目录下的文件被拷贝到 jar 文件中. 2. jar 内部的东西,可以当作 stream 来读取,但不应该当作 file 来读取. 例子 ...

  7. java斗地主发牌_[Java源码]扑克牌——斗地主发牌实现

    --------------------------------------- --------------------------------------- ----------一个扑克牌核心和简单 ...

  8. java小朋友猜拳_[Java教程]Java猜拳小游戏(剪刀、石头、布)

    [Java教程]Java猜拳小游戏(剪刀.石头.布) 0 2015-09-29 08:00:04 import java.util.Random;import java.util.Scanner;pu ...

  9. java星空屏幕_[Java教程]窗口设置_星空网

    窗口设置 2016-04-13 0 /** * 这个是GUI的事例程序: * */ package w160412.wang.main;import java.awt.Color; import ja ...

最新文章

  1. 为什么充电电流变化有点大
  2. 推荐一款非常不错的子网计算器
  3. api 原生hbase_HBase客户端API
  4. linux工作常用软件
  5. python Web抓取(一)[没写完]
  6. 关于海量分页的补充说明(转)
  7. Spring(5)---松耦合实例
  8. linux新硬盘分区及格式化和挂载分区到目录的方法
  9. TCP粘包拆包基本解决方案
  10. xencenter服务器不显示,XenCenter 不能连接 XenServer 解决方法
  11. PostgreSQL与mysql语法不同
  12. 智鼎逻辑推理题及答案_2019最新玛氏笔试真题节选(含答案及解析)
  13. python字典get用法_详细解析python字典get()实例教程
  14. 网站在线工具查询链接收录与优化文章收录情况
  15. 融合泊车占比超过60%,除了德赛西威,还有哪些本土供应商
  16. 51单片机仿真例程-八段数码管
  17. zzulioj1116: 删除元素
  18. ACL2021_Enhancing Entity Boundary Detection for Better Chinese Named Entity Recognition
  19. 2019年的软件百强企业榜单
  20. U盘变32G的解决办法

热门文章

  1. WebSocket webshop后台服务器的一些全局数据结构
  2. 打开My Lead detail page会发生timeout的错误的解决方案
  3. SAP云平台CloudFoundry上部署了一个应用的技术明细
  4. 如何查找SAP Fiori launchpad Designer的准确路径即url地址
  5. how to resolve error message java.lang.ClassNotFoundException: org.springframework
  6. 最简单的docker教程:在docker里运行nginx服务器
  7. 使用Gardener在Google Cloud Platform上创建Kubernetes集群
  8. 海洋工程-专业名词-学科关键词(终极版)
  9. wpf文本框限制输入长度_Excel办公实操,限制输入日期,手机号码,不重复数据的使用...
  10. 深圳华强北三菱服务器维修,三菱电梯GPS维修的故障分析 -解决方案-华强电子网...