java 自定义加密_JAVA 如何自定义加密算法

本文详细介绍了如何在JAVA中自定义摘要算法PDS和对称加密算法PDS。通过创建`MessageDigestSpi`子类实现PDS摘要算法,并通过自定义`CipherSpi`子类实现PDS加密算法。同时,文章还展示了如何将这两个自定义算法注册到JAVA的安全提供者中,以便进行使用。最后,给出了调用自定义加密解密算法的示例代码。
摘要由CSDN通过智能技术生成

本文演示自定义摘要和对称加密算法 PDS

pds 是我自己定义的一个算法名称

算法规则: 一个数A异或另一个数B两次,将返回该数A

JAVA自带加密算法结构

JAVA的加密算法,基本上由该文件所配置提供

java/jre/lib/security/java.security

该配置通过Security 类进行加载,默认配置如下:

security.provider.1=sun.security.provider.Sun

security.provider.2=sun.security.rsa.SunRsaSign

security.provider.3=sun.security.ec.SunEC

security.provider.4=com.sun.net.ssl.internal.ssl.Provider

security.provider.5=com.sun.crypto.provider.SunJCE

security.provider.6=sun.security.jgss.SunProvider

security.provider.7=com.sun.security.sasl.Provider

security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI

security.provider.9=sun.security.smartcardio.SunPCSC

security.provider.10=sun.security.mscapi.SunMSCAPI

每一行都是一个Provider,下面我们看一下如何将Provider作为服务加载到系统中

10256e900a789f53405f00253fb99bb6.png

这两条配置是代表同一个服务,Alg.Alias 是用来配置别名的,如 SHA-1,SHA1是同一个含义一个意思

JAVA可以通Security加载的服务种类

目前定义了以下服务:

SecureRandom 随机数

Signature 签名

KeyPairGenerator 密钥对生成

MessageDigest 消息摘要

AlgorithmParameterGenerator 算法参数生成器

AlgorithmParameters 算法参数

KeyFactory

CertificateFactory

KeyStore

Policy 一般不用

Configuration

CertPathBuilder

CertPathValidator

CertStore

Cipher

SecretKeyFactory

SSLContext

自定义摘要PDS

我们需

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值