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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 蒂森MC2服务器显示FC00,蒂森电梯MC2常用功能地址参数设置说明.pdf[通俗易懂]

    蒂森MC2服务器显示FC00,蒂森电梯MC2常用功能地址参数设置说明.pdf[通俗易懂]C1/12MC2A00TEXXXX–TS1.MC21.1.A000/F000A001/F0011.2.MF3/MF4/MS3A/BMP1MPMS31.3.//j1.4.1.5.A3001.6.1.7.1.8.C2/12MC2A00TEXXXX–TSA2C21MP1.71.9.1.10.C…

    2022年5月20日
    366
  • eclipse如何开发安卓_Android开发教程

    eclipse如何开发安卓_Android开发教程1.首先为了省事,下一个EclipseADTBundle 链接:https://blog.csdn.net/sinat_40692412/article/details/797597462.解压之后,打开eclipse.exe3.打开之后会看到,上面红框部分没有advmanager等快捷按钮。我们将其调出来,Window->OpenPerspective->Java。就出现了…

    2022年10月5日
    1
  • AIC和BIC准则详解

    AIC和BIC准则详解很多参数估计问题均采用似然函数作为目标函数,当训练数据足够多时,可以不断提高模型精度,但是以提高模型复杂度为代价,同时带来一个机器学习中非常普遍的问题——过拟合。所以,模型选择问题在模型复杂度与模型对数据集描述能力(即似然函数)之间寻求最佳平衡。人们提出许多信息准则,通过加入模型复杂度的惩罚项来避免过拟合问题,此处我们介绍一下常用的两个模型选择方法:1.赤池信息准则(AkaikeInformationCriterion,AIC)AIC是衡量统计模型拟合优良性的一种标准,由日本统计学家赤池弘次在

    2022年5月23日
    80
  • C++ 虚函数表解析[通俗易懂]

    C++ 虚函数表解析[通俗易懂]C++虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R

    2022年4月19日
    49
  • leetcode数组汇总_环形数组

    leetcode数组汇总_环形数组原题链接给定一个由整数数组 A 表示的环形数组 C,求 C 的非空子数组的最大可能和。在此处,环形数组意味着数组的末端将会与开头相连呈环状。(形式上,当0 <= i < A.length 时 C[i] = A[i],且当 i >= 0 时 C[i+A.length] = C[i])此外,子数组最多只能包含固定缓冲区 A 中的每个元素一次。(形式上,对于子数组 C[i], C[i+1], …, C[j],不存在 i <= k1, k2 <= j 其中 k1 % A.leng

    2022年8月9日
    5
  • npoi css,NPOI颜色对照表

    npoi css,NPOI颜色对照表颜色对照表:颜色测试Class名称shortTest颜色Black8Test颜色Brown60Test颜色Olive_Green59Test颜色Dark_Green58Test颜色Dark_Teal56Test颜色Dark_Blue18Test颜色Indigo62Test颜色Grey_80_PERCENT63Test颜色Dark_Red16Test颜色O…

    2022年5月13日
    62

发表回复

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

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