本文演示自定义摘要和对称加密算法 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作为服务加载到系统中
这两条配置是代表同一个服务,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
我们需