java加密技术六

java加密技术六

ID:26623392

大小:148.50 KB

页数:9页

时间:2018-11-28

java加密技术六_第1页
java加密技术六_第2页
java加密技术六_第3页
java加密技术六_第4页
java加密技术六_第5页
资源描述:

《java加密技术六》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java加密技术(六)文章分类:Java编程   接下来我们介绍DSA数字签名,非对称加密的另一种实现。DSADSA-DigitalSignatureAlgorithm是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignatureStandard)。简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名。如果数据和签名不匹配则认为验证失败!数字签名的作用就是校验数据在传输过程中不被修改。数字签名,是单向加密的升级!1.1.通过java代码实现如下:

2、Coder类见Java加密技术(一)Java代码1.import java.security.Key;  2.import java.security.KeyFactory;  3.import java.security.KeyPair;  4.import java.security.KeyPairGenerator;  5.import java.security.PrivateKey;  6.import java.security.PublicKey;  7.import java.security.SecureRandom;  8.import ja

3、va.security.Signature;  9.import java.security.interfaces.DSAPrivateKey;  10.import java.security.interfaces.DSAPublicKey;  11.import java.security.spec.PKCS8EncodedKeySpec;  12.import java.security.spec.X509EncodedKeySpec;  13.import java.util.HashMap;  14.import java.util.Map;  15.

4、  16./** 17. * DSA安全编码组件 18. *  19. * @author 梁栋 1. * @version 1.0 2. * @since 1.0 3. */  4.public abstract class DSACoder extends Coder {  5.  6.    public static final String ALGORITHM = "DSA";  7.  8.    /** 9.     * 默认密钥字节数 10.     *  11.     * 

 12.     * DSA  13.     * Defa

5、ult Keysize 1024   14.     * Keysize must be a multiple of 64, ranging from 512 to 1024 (inclusive). 15.     * 

 16.     */  17.    private static final int KEY_SIZE = 1024;  18.  19.    /** 20.     * 默认种子 21.     */  22.    private static final String DEFAULT_SEED = "0f22507a10

6、bbddd07d8a3082122966e3";  23.  24.    private static final String PUBLIC_KEY = "DSAPublicKey";  25.    private static final String PRIVATE_KEY = "DSAPrivateKey";  26.  27.    /** 28.     * 用私钥对信息生成数字签名 29.     *  30.     * @param data 31.     *            加密数据 32.     * @param privat

7、eKey 33.     *            私钥 34.     *  35.     * @return 36.     * @throws Exception 37.     */  38.    public static String sign(byte[] data, String privateKey) throws Exception {  1.        // 解密由base64编码的私钥  2.        byte[] keyBytes = decryptBASE64(privateKey);  3.  4.        //

8、 构造PKCS8Enco

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。