精华内容
下载资源
问答
  • java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) JAVA安全实现三种方式: 1.JDK 2.Commons Codec 3.Bouncy Castle 一。非对称加密算法: 1.DH 2.RSA 3.ELGamal 二。...
  • 对称加密算法对称加密:加密和解密使用同一个密钥DES:Data Encryption Standard,56bits3DES:AES:Advanced (128, 192, 256bits)Blowfish,TwofishIDEA,RC6,CAST5特性:1.加密,解密使用同一个密钥,效率高2.将...

    对称加密算法

    对称加密:加密和解密使用同一个密钥

    DES:Data Encryption Standard,56bits

    3DES:

    AES:Advanced (128, 192, 256bits)

    Blowfish,Twofish

    IDEA,RC6,CAST5

    特性:

    1.加密,解密使用同一个密钥,效率高

    2.将原始数据分割成固定大小的块,逐个进行加密

    缺陷:

    1.密钥过多

    2.密钥分发

    3.数据来源无法确认

    非对称加密算法:

    非对称加密:需要两个密钥,公钥和私钥

    公钥:公开给所有人

    私钥:自己留存,必须保证其私密性

    特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然

    缺陷高:密钥长,加密解密效率低下

    算法:

    RSA(加密,数字签名),DSA(数字签名),ELGamal

    工作原理:

    1.A向B发送信息,A和B都要产生一对用于加密和解密的公钥和私钥

    2.A的私钥保密,A的公钥告诉B,B的私钥保密,B的公钥告诉A、

    3.A要给B发送信息时,A用B的公钥加密信息,因为A知道B 的公钥

    4.A将这个消息发给B,(已经用B的公钥加密消息)

    5.B收到这个消息后,B用自己的私钥解密A的消息,其他所有收到这个报文的人都无法解密,因为只有B才有B 的私钥。

     

    ----如果用公钥把数据加密了,只能用对应的私钥解密

    哈希算法(单向散列)得到的结果叫摘要,特性是数据不同摘要不同,光拿到摘要是不可逆推出数据本身的,并且哈希算法如果是某一种固定的哈希算法,摘要长度是固定的。md5是哈希算法长度是128位。哈希算法的功能是实现数据的完整性

    数据不变 摘要也是固定不变 ,好处是将来监控某个文件的变化就可以把他存放到专门的文件里。和现有的存放的早期的md5文件比比,

    md5sum /etc/passwd  //md5sum可以同时保存多个文件 md5sum /etc/passwd /etc/passwd>md5.log

    md5sum --check md5.log //check :检查此文件里面记录的哈希值和现有文件的哈希值 比对,一样是ok不一样会提示

    --check = -c

    sha1sum  /etc/fstab  也可以  --内容一样哈希值也一样

     

    数字证书的工作过程

    原文通过哈希算法(md5)得到摘要1,用A的私钥来加密叫2数字签名,然后把原文和签名作为一个整体再用B的公钥3加密成了密文然后发送。发送给对方之后,对方需要验证数据来源,确认数据只能自己解密。解密是使用B的私钥解密得到原文和签名再使用相同的哈希算法把原文做一下哈希运算得到128位的摘要值,数字签名是128的摘要用A的私钥加密得到的,所以解密数字签名只能用A的公钥解密得到摘要,比较摘要,如果一致,则原文没有被篡改

    Pb{data+Sa{hash(data)}}

    Sb

    data+Sa{hash(data)}

    Pa

    hash(data)=data2 

    实现 两个功能  1.安全 2.确认数据来源

     

    数字证书这个过程中还存在着问题 因为原文使用了公钥加密,如果原文数据量大的话会导致效率很低下,那么如何解决这个问题,我们可以使用哈希算法,非对称密钥和对称密钥三个算法组合起来使用解决这个问题。

    原文使用哈希算法得到摘要并追加到数据的后面并用A的私钥进行加密,因为摘要数据量不大使用私钥加密不会影响效率,然后在数据的后面增加私钥签名过的数据data+Sa{hash(data)},然后把整个数据用对称密钥加密(对称密钥适合加密大量数据)Key[data+Sa{hash(data)}]。然后接着用B的公钥加密Key。Key[data+Sa{hash(data)}]+Pb(key)

    展开全文
  • 术语 ... OSI与TCP/IP安全体系 ...对称加密算法DES图解 对称加密算法3重DES 对称加密算法AES至今未被破解 对称加密算法AES图解 对称加密算法PBE 对称加密算法PBE图解 非对称加密

    术语

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    密码分类

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    OSI与TCP/IP安全体系

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    JAVA安全

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Base64算法

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    消息摘要算法MD

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    消息摘要算法MD图解

    在这里插入图片描述

    消息摘要算法SHA

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    消息摘要算法SHA图解

    在这里插入图片描述
    在这里插入图片描述

    消息摘要算法MAC

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    消息摘要算法MAC图解在这里插入图片描述

    对称加密

    在这里插入图片描述

    对称加密算法DES

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    对称加密算法DES图解

    在这里插入图片描述

    对称加密算法3重DES

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    对称加密算法AES至今未被破解

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    对称加密算法AES图解

    在这里插入图片描述

    对称加密算法PBE

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    对称加密算法PBE图解

    在这里插入图片描述

    非对称加密

    在这里插入图片描述

    非对称加密算法DH

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    非对称加密算法DH图解

    在这里插入图片描述

    非对称加密算法RSA

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    非对称加密算法RSA图解在这里插入图片描述

    非对称加密算法EIGamaI

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    知其雄,守其雌,为天下溪。
    为天下溪,常德不离,复归于婴儿。
    知其白,守其黑,为天下式。
    为天下式,常德不忒,复归于无极。
    知其荣,守其辱,为天下谷。
    为天下谷,常德乃足,复归于朴。
    朴散则为器,圣人用之,则为官长,故大制不割。
    ————《道德经》第二十八章

    展开全文
  • 第一 对称加密: 对称加密是指,加密...常用的对称加密算法:AES,RC4,3DES传输的示意图如下所示:如上图所示,此种方式属于对称加密,双方拥有相同的密钥,信息得到安全传输,但此种方式的缺点是:(1)不同的客户...
    第一 对称加密:
    对称加密是指,加密方和解密方使用同样的秘钥来进行加密和解密。
    在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yue)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。常用的对称加密算法:AES,RC4,3DES

    传输的示意图如下所示:

    如上图所示,此种方式属于对称加密,双方拥有相同的密钥,信息得到安全传输,但此种方式的缺点是:

    (1)不同的客户端、服务器数量庞大,所以双方都需要维护大量的密钥,维护成本很高

    (2)因每个客户端、服务器的安全级别不同,密钥极易泄露

    这里举例一个使用DES算法来实现对称加密的例子:

    public class DESUtils {

    public byte[] initKey(){
    try {
    KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
    keyGenerator.init(56);
    SecretKey secretKey = keyGenerator.generateKey();
    return  secretKey.getEncoded();
    } catch (NoSuchAlgorithmException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    return null;
    }

    /**
      * @Method: encrypt
      * @Description: 加密算法
      * @param data 被加密字节数组
      * @param key  随机对称密钥
      * @return
      * 返回类型:byte[]
      */
    public byte[] encrypt(byte[] data,byte[] key){
    SecretKey secretKey = new SecretKeySpec(key, "DES");
    Cipher cipher;
    try {
    cipher = Cipher.getInstance("DES");
    cipher.init(Cipher.ENCRYPT_MODE, secretKey);
    return cipher.doFinal(data);
    } catch (Exception e) {
    e.printStackTrace();


    return null;
    }

    /**
      * @Method: decode
      * @Description: TODO
      * @param 被解密的字节数组
      * @param key 随机对称密钥(和加密密钥务必保持一致)
      * @return
      * 返回类型:byte[]
      */
    public byte[] decode(byte[] data,byte[] key){
    SecretKey secretKey = new SecretKeySpec(key, "DES");
    Cipher cipher;
    try {
    cipher = Cipher.getInstance("DES");
    cipher.init(Cipher.DECRYPT_MODE, secretKey);
    return cipher.doFinal(data);
    } catch (Exception e) {
    e.printStackTrace();


    return null;
    }

    测试代码为:

    public static void testDes(){
    DESUtils desUtils = new DESUtils();
    byte[] key = desUtils.initKey();   // 
    String originData = "123456";
    System.out.println("原始数据:"+originData);
    try {
    // 将原始数据转化为字符串
    byte[] arrayOrigin = originData.getBytes("utf-8");
    // 对原始数据进行加密
    byte[] encryption = desUtils.encrypt(arrayOrigin, key);
    // 通过BASE64Encoder转化处理
    String encryptionStr = new BASE64Encoder().encode(encryption);
    System.out.println("经过加密之后的字符串:"+encryptionStr);

    try {
    // 使用BASE64Decoder进行转化处理
    byte[] decoceOrigin = new BASE64Decoder().decodeBuffer(encryptionStr);
    // 使用DES进行解密操作
    byte[] decode = desUtils.decode(decoceOrigin, key);
    // 把字节数组转化为字符串
    String decodeStr = new String(decode,"utf-8");
    System.out.println("对加密字符串进行解密:"+decodeStr);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    } catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    运行结果如下:

    原始数据:123456
    经过加密之后的字符串:jaKOVkHJtOQ=
    对加密字符串进行解密:123456

    第二 、非对称加密:
    非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。非对称加密算法:RSA,DSA/DSS 

    如上图所示,客户端用公钥对请求内容加密,服务器使用私钥对内容解密,反之亦然,但上述过程也存在缺点:

    公钥是公开的(也就是黑客也会有公钥),所以第 ④ 步私钥加密的信息,如果被黑客截获,其可以使用公钥进行解密,获取其中的内容。

    实现非对称加密算法例子:

    public class AsymmetricEncryption {


    public static final String KEY_ALGORITHM = "RSA";
    /** 貌似默认是RSA/NONE/PKCS1Padding,未验证 */
    public static final String CIPHER_ALGORITHM = "RSA/ECB/PKCS1Padding";
    public static final String PUBLIC_KEY = "publicKey";
    public static final String PRIVATE_KEY = "privateKey";


    /** RSA密钥长度必须是64的倍数,在512~65536之间。默认是1024 */
    public static final int KEY_SIZE = 2048;


    public static final String PLAIN_TEXT = "hello world!";


    /**
    * @Method: generateKeyBytes
    * @Description: 首先产生一个公钥和私钥对,使用HashMap保存起来
    * @return 返回类型:Map<String,byte[]>
    */
    public static Map<String, byte[]> generateKeyBytes() {


    try {
    KeyPairGenerator keyPairGenerator = KeyPairGenerator
    .getInstance(KEY_ALGORITHM);
    keyPairGenerator.initialize(KEY_SIZE);
    KeyPair keyPair = keyPairGenerator.generateKeyPair();


    RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
    RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();


    Map<String, byte[]> keyMap = new HashMap<String, byte[]>();
    keyMap.put(PUBLIC_KEY, publicKey.getEncoded());
    keyMap.put(PRIVATE_KEY, privateKey.getEncoded());
    return keyMap;
    } catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
    }
    return null;
    }


    /**
    * 还原公钥,X509EncodedKeySpec 用于构建公钥的规范

    * @param keyBytes
    * @return
    */
    public static PublicKey restorePublicKey(byte[] keyBytes) {
    X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(keyBytes);


    try {
    KeyFactory factory = KeyFactory.getInstance(KEY_ALGORITHM);
    PublicKey publicKey = factory.generatePublic(x509EncodedKeySpec);
    return publicKey;
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }


    /**
    * 还原私钥,PKCS8EncodedKeySpec 用于构建私钥的规范

    * @param keyBytes
    * @return
    */
    public static PrivateKey restorePrivateKey(byte[] keyBytes) {
    PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new PKCS8EncodedKeySpec(
    keyBytes);
    try {
    KeyFactory factory = KeyFactory.getInstance(KEY_ALGORITHM);
    PrivateKey privateKey = factory
    .generatePrivate(pkcs8EncodedKeySpec);
    return privateKey;
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }


    /**
    * 加密,三步走。

    * @param key
    * @param plainText
    * @return
    */
    public static byte[] RSAEncode(PublicKey key, byte[] plainText) {


    try {
    Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
    cipher.init(Cipher.ENCRYPT_MODE, key);
    return cipher.doFinal(plainText);
    } catch (Exception e) {
    e.printStackTrace();
    }


    return null;
    }


    public static String RSADecode(PrivateKey key, byte[] encodedText) {


    try {
    Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
    cipher.init(Cipher.DECRYPT_MODE, key);
    return new String(cipher.doFinal(encodedText));
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }

    }

    测试代码如下:

    public static void tesRSA(){
    Map<String, byte[]> keyMap = AsymmetricEncryption.generateKeyBytes();

    // 加密
    PublicKey publicKey = AsymmetricEncryption.restorePublicKey(keyMap.get(AsymmetricEncryption.PUBLIC_KEY));
    byte[] encodedText = AsymmetricEncryption.RSAEncode(publicKey, AsymmetricEncryption.PLAIN_TEXT.getBytes());
    String rsaString = new BASE64Encoder().encode(encodedText);
    System.out.println("RSA encoded: " + rsaString);

    PrivateKey privateKey = AsymmetricEncryption.restorePrivateKey(keyMap.get(AsymmetricEncryption.PRIVATE_KEY));
    System.out.println("RSA decoded: "+ AsymmetricEncryption.RSADecode(privateKey, encodedText));

    }

    运行结果如下所示:

    RSA encoded: e7wIyV32VtiJhiraQGIYxD2TKtC4O6dRJx0lgVuEUsjCTSjqNFmEVNlYmFzd3ohIiW67XyIfEzWD
    W9YFpFnDekRFLgeerh7c5gXMLVsVkf7k7XuTbiGmQOlOBUmL8VWpWVWTk8Rgn7Y+G7/dz9+DOEnH
    csMnssKC/MBM80Ad5Za+QHqgb6BdZNHjZYzWpDIztBEUf/yHWfkGhmJahxo6Ff6y8er/shiP+qL3
    hMJlw70TTGoGlrAWQqxUMYGPrv4IELi/iNSednXxo5bNNatJYke7FhKnuy8GEOWNH/K8Q52vl24L
    cururJGLEJR6Hn/oaGxnXQbs2Fzo3vUziDj1cQ==
    RSA decoded: hello world!

    第三 非对称和对称完美结合

    非对称加密既然也有缺陷,那我们就将对称加密,非对称加密两者结合起来,取其精华、去其糟粕,发挥两者的各自的优势:


    如上图所示

    (1)第 ③ 步时,客户端说:(咱们后续回话采用对称加密吧,这是对称加密的算法和对称密钥)这段话用公钥进行加密,然后传给服务器

    (2)服务器收到信息后,用私钥解密,提取出对称加密算法和对称密钥后,服务器说:(好的)对称密钥加密

    (3)后续两者之间信息的传输就可以使用对称加密的方式了

    这是个非常非常经典的数据传输过程,也是Https传输协议里面最经典的部分。也是把对称加密和非对称加密的作用发挥到了很好的地方。在https传输的过程中,如果单独只用对称加密,或者单独使用非对称加密都会出现问题。



    展开全文
  • JavaSecurity 使用 摘要算法 Base64 MD SHA MAC 对称加密 DES AES PBE 非对称加密算法 DH RSA ElGamal
  • 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括DES、3DES、AES、DESX、Blowfish、、RC4、RC5、RC6。  DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。 3DES...

    一、对称加密算法 

         指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括DES、3DES、AES、DESX、Blowfish、、RC4、RC5、RC6。

         DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
         3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
         AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

                                     

     

    二、非对称加密算法

          指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。常见的非对称加密算法:RSA、DSA(数字签名用)、ECC(移动设备用)、Diffie-Hellman、El Gamal。

            RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
            DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
            ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

       ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:
    (1)抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍。
    (2)计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。
    (3)存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
    (4)带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

     

    三、散列算法(Hash算法---单向加密算法)
           散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。

           Hash算法:特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。

    单向散列函数一般用于产生消息摘要,密钥加密等,常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1。

           MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文。
           SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;

           SHA-1与MD5的比较
    因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:
    (1)对强行供给的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^(128)数量级的操作,而对SHA-1则是2^(160)数量级的操作。这样,SHA-1对强行攻击有更大的强度。
    (2)对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。
    速度:在相同的硬件上,SHA-1的运行速度比MD5慢。

     

    四、 加密算法的选择

    1.由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
    2.对称加密算法不能实现签名,因此签名只能非对称算法。
    3.由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
    4.在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
     

             那采用多少位的密钥呢?

             RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

    展开全文
  • 常见的对称加密算法与常见的非对称加密算法简单介绍: 常见的对称加密算法: 1、DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;  3DES(Triple DES):是基于DES,对...
  • 加密相关文章见:Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA 【代码】 代码比较多,有一部分非本文章内容代码,具体自己看吧。 [java] view plaincopy ...
  • 对称加密对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密对称加密只有一个秘钥,作为私钥。具体算法有:DES,3DES,TDEA,Blowfish,RC5,ID...
  • 二、非对称加密算法:常见的非对称加密算法:RSA、DSA(数字签名用)、ECC(移动设备用)、Diffie-Hellman、El Gamal。 三、散列算法(Hash算法---单向加密算法):常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA...
  • 加密算法–DES对称加密算法详解 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在密级政府通信中...
  • 对称加密算法:双方必须约定好算法  DES 数据加密标准:由于不断地被破解 自98年起就已经逐渐放弃使用  AES 目前使用最多的加密方式,官方并未公布加密方式已被破解,替代DES  实现和DES非常接近 JDK无政策...
  • 对称加密算法 对称加密算法,也叫做私钥加密算法,也叫做单密钥算法或传统密钥算法,它具有如下特点: 加密和解密的密钥相同 计算效率高,加密强度高 需要提前共享密钥,容易泄露 常见的对称加密算法 AES...
  • 非对称加密算法,诸如RSA或DES算法,被用于密钥变换。类似的过程,例如,被用于相当有效的保密PGP( Pretty cooct Privacy)。它使用了DES和RSA算法,这种混合处理的基本好处是对于大量数据的真正加密可以用对称加密...
  • 一、对称加密算法: 使用的密钥只有一个,发收信双方都使用这个密钥对...二、非对称加密算法 使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和...
  • DES对称加密算法介绍

    2020-03-13 18:36:39
    DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块...需要注意的是,在某些文献中,作为算法的DES称为数据加密算法(Data Encryption Algorithm,DEA),已与作为标准的DES区分开来。 D...
  • 接下来我们介绍典型的非对称加密算法RSA RSA 这种算法1978年就出现了它是第一个既能用于数据加密也能用于数字签名的算法它易于理解和操作也很流行算法的名字以发明者的名字命名Ron Rivest, AdiShamir 和Leonard ...
  • 目前主流的加密方式有:(对称加密)AES、DES非对称加密)RSA、DSA 转载于:https://www.cnblogs.com/xdot/p/8157275.html
  • 非对称加密算法RSA,DSA,ECC AES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密
  • 本文实例讲述了Python3非对称加密算法RSA。分享给大家供大家参考,具体如下: python3 可以使用 Crypto.PublicKey.RSA 和 rsa 生成公钥、私钥。 其中 python3.6 Crypto 库的安装方式请参考前面一篇《Python3对称加密...
  • RSA作为非对称加密算法,在实际开发中占据非常重要的角色。一般情况下,我们都使用DEA或者AES等对称加密算法(效率高)对数据进行加密,使用RSA对DES或AES的加密秘钥进行加密,以保证秘钥的安全性以及加密的高效性。
  • 一、概述 1、RSA是基于大数因子分解难题。目前各种主流计算机语言都支持RSA算法的实现 2、java6支持RSA算法 ...4、RSA算法相对于DES/AES等对称加密算法,他的速度要慢的多 5、总原则:公钥加密,私钥解密 / 私...
  • 非对称加密算法概述 非对称加密之密钥交换算法-DH 非对称加密之RSA算法 非对称加密之Curve25519加密算法 4.其他加密解密算法 异或加密算法 5. 消息摘要算法 SHA安全散列算法 6. 数字证书 7. 网络安全协议 ...
  • 非对称加密算法RSA

    2015-11-03 15:50:03
    非对称加密算法RSA RSA   这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,743
精华内容 697
关键字:

des非对称加密算法