java jasypt_jasypt命令行工具的使用说明

java jasypt_jasypt命令行工具的使用说明jasypt能够以很简单的方式为Java项目提供加密功能,这种简单的方式体现着它的命令行工具,与Spring,Hibernate,Springsecurity,wicket等第三方框架的集成。本文参加jasypt官方网站:http://www.jasypt.org/下载jasypt包,解压缩到本地目录。如下图:根目录:命令行工具目录:说明:在lib目录下是jasypt的核心jar和与第三方组件…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

jasypt能够以很简单的方式为Java项目提供加密功能,这种简单的方式体现着它的命令行工具,与Spring,Hibernate, Springsecurity, wicket等第三方框架的集成。

本文参加jasypt官方网站:http://www.jasypt.org/下载jasypt包,解压缩到本地目录。

如下图:

根目录:

8ea0e4d97291a7cb536c880f9de59f2a.png

命令行工具目录:

de3e4e68254cf337f12aac3ac75908b3.png

说明:

在lib目录下是jasypt的核心jar和与第三方组件集成的jar.

在bin目录下是jasypt的命令行工具脚本.

在apidoc目录下自然就是帮助文档。

下面主要介绍jasypt的命令行工具(这里的操作环境是windows系统):

1.listAlgorithms.bat(listAlgorithms.sh)

0df2458cfc0ee8badb6ec7478048dc4d.png

DIGEST ALGORTHMS:摘要算法

PBE ALGORTHMS(PASSWORD BASE ENCRYPTION):基于口令的加密算法

2.下面介绍如何使用digest.bat, encrypt.bat,  decrypt.batdigest.bat

76de8c7334bc9783369cf508b0c7ccfb.png

命令:digest.bat input=sa algorithm=SHA的意思是对输入信息:”sa” 使用SHA算法计算摘要信息,OUTPUT则是输出结果。

说明:直接输入digest.bat可以查看命令帮助信息和参数要求,这里input是必选参数,algorithm是可选参数,默认的计算摘要信息算法是MD5。encrypt.bat和decrpt.bat

加密和解密是对应的,同样的方式,直接输入命令就可以查看帮助信息和参数要求。比如在命令窗口输入:encrypt.bat

c7af6434493bc5bc8279e68da8868bef.png

由于encrypt.bat和decrypt.bat是对应的,因此帮助信息和参数要求是一致的,区别在于encrypt.bat的input参数值是“原信息”,decrypt.bat的input参数值是“加密信息”。

从上面的参数说明中可以看到algorithm是可选的,那是应为jasypt提供了默认的一套参数取值,而这里的加密的默认算法是:PBEWithMD5AndDES

下面通过一个例子演示一下加密和解密:

加密:

269b74e6ab6b840faa0bcf4b77a0dbd2.png

解密:

134874c9d1457ed7aaf08d16cde38845.png

上述加密解密使用了“PBEWITHSHA1ANDRC2_40”算法,操作一切正常。

经过对PBE算法中的其它三个做了同样的测试发现使用“PBEWITHMD5ANDTRIPLEDES”算法操作失败的情况。

1ba8e1b7b2c54f5213d5af7197a77575.png

从上面的提示信息中很难看出问题出在什么地方,于是想到用Java程序来测试一下这个算法。结果错误提示信息如下:

org.jasypt.exceptions.EncryptionOperationNotPossibleException:

Encryption raised an exception.

A possible cause is you are using strong encryption algorithms and you have

not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files

in this Java Virtual Machine

大致的意思是没有安装JCE不受限长度策略文件,于是百度谷歌一阵再Orcale官网找到了JDK7的JCE文件。http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

下载后解压可以放到JAVA_HOME\jdk1.7.0_45\jre\lib\security下或者JAVA_HOME\jdk1.7.0_45_jre\lib\security下,一共两个文件local_policy.jar和US_export_policy.jar.这样会覆盖度JDK默认的这两个文件。

为了一探究竟,这里个文件的内容不同之处,解压之后发现不同的地方在于local_policy.jar里的local_policy.policy内容。

JDK默认的local_policy.policy内容是:

// Some countries have import limits on crypto strength. This policy file

// is worldwide importable.

grant {

permission javax.crypto.CryptoPermission “DES”, 64;

permission javax.crypto.CryptoPermission “DESede”, *;

permission javax.crypto.CryptoPermission “RC2”, 128,

“javax.crypto.spec.RC2ParameterSpec”, 128;

permission javax.crypto.CryptoPermission “RC4”, 128;

permission javax.crypto.CryptoPermission “RC5”, 128,

“javax.crypto.spec.RC5ParameterSpec”, *, 12, *;

permission javax.crypto.CryptoPermission “RSA”, *;

permission javax.crypto.CryptoPermission *, 128;

};

JCE的local_policy.policy内容是:

// Country-specific policy file for countries with no limits on crypto strength.

grant {

// There is no restriction to any algorithms.

permission javax.crypto.CryptoAllPermission;

};

JDK默认的policy中对一些国家进口密码强度进行了限制。

关于jasypt的命令行工具使用介绍和可能产生的问题做了说明,要想了解具体的机密解密的原理可以参加《Java加密与解密的艺术》作者博客:http://snowolf.iteye.com/blog/379860。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189332.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深入理解java反射机制

    深入理解java反射机制一,java的核心机制java有两种核心机制:java虚拟机(JavaVirtualMachine)与垃圾收集机制(Garbagecollection):Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境,在其上面运行Java代码编译后的字节码程序,java虚拟机实现了平台无关性。Java垃圾回收(GarbageCollection):自动释放不用对象

    2022年5月10日
    31
  • VMware的Linux虚拟机桥接模式突然上不了网解决方法「建议收藏」

    VMware的Linux虚拟机桥接模式突然上不了网解决方法「建议收藏」虚拟机的IP、子网掩码、默认网关、DNS设置得与宿主机在同一子网,虚拟机桥接模式一直以来都可以正常上网,但突然有一天就不能上网了,还死活ping不通外网、网关。此时只需将VM的虚拟网络编辑器中关于桥接模式的设置改一下就行了,具体步骤如下。1、右键点击window系统网络状态那个图标,单击打开“网络和Internet”设置。2、点击更改适配器选项。3、查看window系统联网使用的网卡,记住设备名。4、打开VMware,点击编辑>虚拟网络编辑器。5、在弹出界面点击更改设置。6、桥接模式选

    2022年5月29日
    156
  • 邮箱正则表达式

    邮箱正则表达式正则提取国内外所有的邮箱经过测试准确率100%python代码块res=re.search(r’\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,8}\b’,description)ifres:emailAddress=res.group()else:emailAddr…

    2022年6月15日
    27
  • c/c++成长之捷径 C/C++学习资料大全

    c/c++成长之捷径 C/C++学习资料大全socket协议三次握手与结束连接客户端代码:#include#include#include//forbzero#include//forsocketaddr_in#include#include#include#definePORT5050//端口号#defineMAXLEN_FOR_DATA

    2022年10月8日
    0
  • sigaction函数的使用

    sigaction函数的使用sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口)给信号signum设置新的信号处理函数act,同时保留该信号原有的信号处理函数oldactintsigaction(intsigno,conststruct

    2022年5月25日
    42
  • noip2018提高组初赛解析_NOIP提高组

    noip2018提高组初赛解析_NOIP提高组题目背景NOIP2012提高组DAY2试题。题目描述H国有n个城市,这n个城市用n-1条双向道路相互连通构成一棵树,1号城市是首都,也是树中的根节点。H国的首|都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决定动用军队在一些城市建立检查点,使得从首都到边境城市的每一条路径上都至少有一个检查点,边境城市也可以…

    2022年8月22日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号