java加密技术七

java加密技术七

ID:26712161

大小:113.00 KB

页数:8页

时间:2018-11-28

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

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

1、Java加密技术(七)文章分类:Java编程ECCECC-EllipticCurvesCryptography,椭圆曲线密码编码学,是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。在软件注册保护方面起到很大的作用,一般的序列号通常由该算法产生。   当我开始整理《Java加密技术(二)》的时候,我就已经在开始研究ECC了,但是关于Java实现ECC算法的资料实在是太少了,无论是国内还是国外的资料,无论是官方还是非官方的解释,最终只有一种答案——ECC算法在jdk1.5后加入支持,目前仅仅只能

2、完成密钥的生成与解析。如果想要获得ECC算法实现,需要调用硬件完成加密/解密(ECC算法相当耗费资源,如果单纯使用CPU进行加密/解密,效率低下),涉及到JavaCard领域,PKCS#11。其实,PKCS#11配置很简单,但缺乏硬件设备,无法尝试!   尽管如此,我照旧提供相应的Java实现代码,以供大家参考。通过java代码实现如下:Coder类见Java加密技术(一)Java代码1.import java.math.BigInteger;  2.import java.security.Key;  

3、3.import java.security.KeyFactory;  4.import java.security.interfaces.ECPrivateKey;  5.import java.security.interfaces.ECPublicKey;  6.import java.security.spec.ECFieldF2m;  7.import java.security.spec.ECParameterSpec;  8.import java.security.spec.ECPoint

4、;  9.import java.security.spec.ECPrivateKeySpec;  10.import java.security.spec.ECPublicKeySpec;  11.import java.security.spec.EllipticCurve;  12.import java.security.spec.PKCS8EncodedKeySpec;  13.import java.security.spec.X509EncodedKeySpec;  14.import ja

5、va.util.HashMap;  15.import java.util.Map;  16.  17.import javax.crypto.Cipher;  18.import javax.crypto.NullCipher;  19.  20.import sun.security.ec.ECKeyFactory;  1.import sun.security.ec.ECPrivateKeyImpl;  2.import sun.security.ec.ECPublicKeyImpl;  3.  4

6、./** 5. * ECC安全编码组件 6. *  7. * @author 梁栋 8. * @version 1.0 9. * @since 1.0 10. */  11.public abstract class ECCCoder extends Coder {  12.  13.    public static final String ALGORITHM = "EC";  14.    private static final String PUBLIC_KEY = "ECCPublicKey"

7、;  15.    private static final String PRIVATE_KEY = "ECCPrivateKey";  16.  17.    /** 18.     * 解密
 19.     * 用私钥解密 20.     *  21.     * @param data 22.     * @param key 23.     * @return 24.     * @throws Exception 25.     */  26.    public static byt

8、e[] decrypt(byte[] data, String key) throws Exception {  27.        // 对密钥解密  28.        byte[] keyBytes = decryptBASE64(key);  29.  30.        // 取得私钥  31.        PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8Encoded

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

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

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