Giter VIP home page Giter VIP logo

java_security's Introduction

java_security

JAVA安全实现三种方式:

1.JDK 2.Commons Codec 3.Bouncy Castle

====

一。非对称加密算法:com.timliu.security.asymmetric_encryption

1.DH 2.RSA 3.ElGamal

二。Base64:com.timliu.security.base64

1.JDK实现 2.common codes实现 3.bouncy castle实现

三。消息摘要算法:com.timliu.security.message_digest

1.MD5 2.SHA 3.MAC

四。数字签名:JDK实现 com.timliu.security.signature

1.RSA 2.DSA 3.ECDSA

五。对称加密算法:com.timliu.security.symmetric_encryption

1.3DES 2.AES 3.PBE

====

非对称加密算法中“ElGamal” ,的异常问题:

对于:“Illegal key size or default parameters”异常,是因为美国的出口限制,Sun通过权限文件(local_policy.jar、US_export_policy.jar)做了相应限制。因此存在一些问题.

Java 6 无政策限制文件:java官方下载 本 jce_policy-6.zip 包已经下载到本项目的ext目录下。

Java 7 无政策限制文件:java官方下载 本 UnlimitedJCEPolicyJDK7.zip 包已经下载到本项目的ext目录下。

我的macbook 10.10.2安装的是java7:
到:/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/security 目录下,对应覆盖local_policy.jar和US_export_policy.jar两个文件。

windows的系统可能需要如下操作:
切换到%JDK_Home%\jre\lib\security目录下,对应覆盖local_policy.jar和US_export_policy.jar两个文件。同时,你可能有必要在%JRE_Home%\lib\security目录下,也需要对应覆盖这两个文件。

java_security's People

Contributors

getsadzeg avatar tim9liu9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

java_security's Issues

.Net和Java RSA加密解密的问题

你好,我是.Net开发者,我想问一下这两个语言之间互相RSA加密解密的问题。
在.Net提供中RSA加密对象RSACryptoServiceProvider支持PKCS#1 v1.5 padding,在Java中同样适用PKCS1填充,为什么加密后的密文不一致呢?

下面是Java的实现:

    public static String encrypt(String source, String publicKey)
        throws Exception {
    Key key = getPublicKey(publicKey);
    /** 得到Cipher对象来实现对源数据的RSA加密 */
    Cipher cipher = Cipher.getInstance(ConfigureEncryptAndDecrypt.RSA_ALGORITHM);
    cipher.init(Cipher.ENCRYPT_MODE, key);
    byte[] b = source.getBytes();
    /** 执行加密操作 */
    byte[] b1 = cipher.doFinal(b);
    return new String(Base64.encodeBase64(b1),
            ConfigureEncryptAndDecrypt.CHAR_ENCODING);
}

    public static PublicKey getPublicKey(String key) throws Exception {
    X509EncodedKeySpec keySpec = new X509EncodedKeySpec(
            Base64.decodeBase64(key.getBytes()));
    KeyFactory keyFactory = KeyFactory.getInstance("RSA");
    PublicKey publicKey = keyFactory.generatePublic(keySpec);
    return publicKey;
}

下面是.Net的实现

    public static byte[] RsaEncrypt(string data, string key)
    {
        var rsaProvider = new RSACryptoServiceProvider();
        rsaProvider.FromXmlString(key);
        return rsaProvider.Encrypt(Encoding.UTF8.GetBytes(data), false);
    }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.