首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java实现非对称加密

对称加密加密和解密的过程使用的是相同的密钥 非对称加密对称加密不同,非对称加密算法的加密和解密使用不同的两个密钥.这两个密钥就是我们经常听到的”公开密钥”(公钥)和”私有密钥”(私钥)....公钥和私钥的关系是: 公钥和私钥一般都是成对出现, 如果你的消息使用公钥加密,那么需要该公钥对应的私钥才能解密; 如果你的消息使用私钥加密,那么需要该私钥对应的公钥才能解密....java实现非对称加密 public static void main(String[] args) throws Exception { //原文 String...txt = "abc"; System.out.println("需要加密的原始数据"+txt); System.out.println(); //...运行结果图 具体的代码 https://github.com/liaobaoxin/password/blob/master/src/com/lbx/password/Cryptology.java

2.2K30

Java对称加密算法

一、对称加密算法概念 加密密钥和解密密钥相同,大部分算法加密揭秘过程互逆。 特点:算法公开、(相比非对称加密)计算量小、加密速度快、效率高。 弱点:双方都使用同样的密钥,安全性得不到保证。...二、常见对称加密算法 1、DES 已破解,不再安全,基本没有企业在用了,是对称加密算法的基石,具有学习价值。密钥长度56(JDK)、56/64(BC)。...3、AES 最常用的对称加密算法,密钥建立时间短、灵敏性好、内存需求低(不管怎样,反正就是好),实际使用中,使用工作模式为CTR(最好用BC去实现),此工作模式需要引入IV参数(16位的字节数组),密钥长度...5、PBE 综合了消息摘要算法和对称加密算法,最常见的是PBEWithMD5AndDES,工作模式只有CBC(已丧失安全性,不推荐使用),所以PBE也不推荐使用了。 三、JDK版算法调用模板 1....1.加密或解密都通过cipher.init()设置,参数:ENCRYPT_MODE/DECRYPT_MODE 2.加密或解密都通过cipher.doFinal() 执行,获得byte[]类型结果。

1.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    对称加密和非对称加密

    一:对称加密 对称加密指的就是加密和解密使用同一个秘钥,所以叫对称加密对称加密只有一个秘钥,作为私钥。...二:非对称加密对称加密指的是:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。 公钥加密的信息,只有私钥才能解密。 私钥加密的信息,只有公钥才能解密。...常见的给对称加密: RSA,ECC 区别: 对称加密算法,加解密的效率要高很多。 但是缺陷在于对秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。...对称加密和非对称加密的区别 一: 对称加密加密解密使用同一个密钥,被黑客拦截不安全 二:非对称加密:公钥加密,私钥解密。...简单理解: 对称加密: A和B传输数据,使用同一个密钥,不安全 非对称加密: A和B传输数据, A具有自己的公私钥,B具有自己的公私钥。

    1.8K20

    对称加密和非对称加密

    对称加密和非对称加密 1.什么是对称加密,非对称加密 对称加密是指加解密使用的是同样的密钥 非对称加密是指加解密使用的密钥不同。 2.对称加密的优缺点 对称加密的特点是简单快速。...密钥越大,加密越强,但加解密过程越慢。 密钥容易被黑客拦截 3.非对称加密的优缺点 非对称加密使用了一对密钥,公钥和私钥。私钥由解密方安全保管,公钥可以发给任何请求它的人。数据使用公钥加密,私钥解密。...因为私钥不通过网络发送出去,所以非对称加密的安全性很高。 非对称加密很安全,但和对称加密比起来,非常慢。...4.对称密钥使用非对称方式发送 对称密钥使用非对称方式发送,解决了对称密钥易被获取,和非对称密钥加解密慢的问题。...使用步骤如下: 1)A生成一个随机数作为对称密钥 2)A向B申请公钥 3)B将公钥发给A 4)A使用公钥加密对称密钥,将加密后的结果发给B 5)B使用私钥解密出对称密钥 6)A和B可以通过对称密钥对信息加解密了

    1.6K20

    对称加密和非对称加密

    对称加密 对称密钥是双方使用相同的密钥 。 对称加密的要求   (1)需要强大的加密算法。算法至少应该满足:即使分析人员知道了算法并能访问一些或者更多的密文,也不能译出密文或得出密匙。...非对称加密对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。...(4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。 (5) Alice的浏览器将加密后的对称密钥发送给银行。 (6) 银行使用私钥解密得到Alice浏览器的对称密钥。...总结 (1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。 (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。...(3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

    1.3K30

    对称加密与非对称加密

    (一)对称加密(Symmetric Cryptography) 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)...对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。 对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。...现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。...,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。...(3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

    98220

    对称加密与非对称加密

    对称加密 双方使用的同一个密钥,既可以加密又可以解密,这种加密方法称为对称加密,也称为单密钥加密。...优点:速度快,对称加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效率高。 缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后 使双方都能保存好秘钥。...其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘 钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。...在非对称加密算法中常用的算法有: RSA等 缺点:速度较慢 优点:安全 java中使用rsa加密解密: import java.io.FileInputStream; import java.io.FileOutputStream...混合使用(非对称加密+数字签名) 首先接收方和发送方都有一对秘钥。 发送方: 1.对消息进行md5等摘要运算,得到消息摘要。 2.使用发送方私钥对消息摘要进行加密,该过程也称作签名。

    2.4K20

    对称加密VS非对称加密

    首先,简要介绍一下加密技术。即将明文加密为密文,并通过通信路径发送,中途窃听者不会阅读或理解课文。在接收端接收时,密文被解密为明文。 加密算法一般可以分为两种:一种是对称加密,另一种是非对称加密。...1.对称加密 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。...秘钥管理负担大 优点: 算法公开、计算量小、加密速度快、加密效率高 2.非对称加密 对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(...public key,简称公钥)和私有密钥(private key,简称私钥) 非对称加密解决了对称加密过程中秘钥容易被破解的问题。...非对称加密不采用对称加密中大家都用相同秘钥的方法,而是每个人独立的生成“公钥-私钥”对,使用私钥加密的信息,只能由该私钥对应的公钥才能解密,同理,使用公钥加密的信息,只能由该公钥对应的私钥才能解密。

    1.9K10

    对称加密与非对称加密

    对称加密与非对称加密 在数字加密算法中,可划分为对称加密和非对称加密对称加密 对称加密算法中对于数据的加密与解密使用同一密钥,即使用相同的密码对内容进行加密解密。...3DES:原理和DES几乎是一样的,只是使用3个密钥,对相同的数据执行三次加密,增强加密强度。...AES(Advanced Encryption Standard):高级数据加密标准,AES算法可以有效抵制针对DES的攻击算法 此外还有Blowfish、IDEA、RC4、RC5、RC6等算法 非对称加密...非对称加密算法需要两个密钥:公开密钥和私有密钥,私钥不能被其他任何人知道,公钥则可以随意公开。...优点 安全性更高,保护通信安全方面有着绝对优势 缺点 加解密速度要远远慢于对称加密加密算法极其复杂,安全性依赖算法与密钥 常用算法 RSA:是目前最有影响力和最常用的非对称加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击

    1.5K30

    三、对称加密、非对称加密、混合加密

    上一章节我们说到解决窃听的方法是加密,这里我们来说说加密 对称加密   两边用同一个密钥来加解密。...对称加密的有优缺点   对称加密的优点:加解密速度快   对称加密的缺点:会出现密钥分配问题;密钥容易复制,不便于安全保管 密钥分配问题   对称加密的存在密钥分配问题,A的密钥怎么才能安全的传输到B...非对称加密的优缺点   非对称加密的优点:不会出现密钥分配问题   非对称加密的缺点:加解密速度慢,仍有被窃听的隐患,原因和中间人攻击一样,后面会讲到。   ...既然对称加密和非对称加密都有缺点,那么我们能不能用一种方法结合一下他们的优点形成一套比较好的方案呢?答案是有的,那就是混合加密 混合加密   传输大量数据的时候使用对称加密,因为加解密速度快。...但是由于对称加密有秘钥分配问题,所以我们用非对称加密加密这个对称密钥再传递给对方。 我们会认为接下来的方案应该是比较完美了吧?

    1.6K10

    Java对称加密:手把手教你加密

    首先,让我们来谈谈对称加密对称加密是指使用相同的密钥进行加密和解密的过程。简单来说,就像是一个锁,需要一把相同的钥匙才能打开它。由于这种方式很容易实现,所以在很多场合都被广泛应用。...接下来,我们将用Java来实现对称加密。我们选择AES算法,这是一种广泛应用的对称加密算法。首先,我们需要使用javax.crypto包中的密钥类来生成密钥。...SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES"); } } 接下来,我们需要使用javax.crypto包中的加密器类来进行加密...然后,我们使用相同的加密器类和密钥对明文进行加密,并将加密后的密文作为输入传递给解密器类。因为我们使用相同的密钥,所以解密器类可以正确地解密密文,并且输出明文。...好啦,这就是Java对称加密的简单实现。希望这篇文章能够帮助你理解Java对称加密的操作过程。我们为什么要使用加密呢?因为我们常常需要将敏感信息进行保护,避免信息泄露。

    30020

    对称加密与非对称加密的区别

    ‍作者:Java学术趴 仓库:Github、Gitee ✏️博客:CSDN、掘金、InfoQ、云+社区 公众号:Java学术趴 特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权...1.2 对称加密 1.2.1 对称加密算法的概念 对称加密对称加密指的是加密和解密使用相同密钥的加密算法,也称为单密码加密。...他的特点是算法公开、计算量少、加密速度快,对于同样大小的传输对象,对称加密的效率通常为非对称的千倍左右,因为通常被广泛应用于很多加密协议的核心工作(如https在真正数据通信时就使用的对称加密算法)。...1.2.2 常见对称加密算法 常见的对称加密算法: DES、3DES、TDEA、RC2 1.3 非对称加密 1.3.1 非堆成加密算法的概念 非对称加密: 非对称密码使用一对公钥和私钥加密。...1.3.3 常见的非对称加密算法 常见的非对称加密算法: RSA、DSA、ECC等。

    1.3K00

    HTTPS 之对称加密与非对称加密

    对称加密 加密 encryption 与解密 decryption 使用的是同样的密钥 secret key,对称加密是最快速、最简单的一种加密方式。...非对称加密对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(简称公钥)和私有密钥(简称私钥),即常说的“公钥加密,私钥加密”或“私钥加密,公钥加密”。...非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。 For Example RSA 就是最常用的非对称加密算法。...虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。...解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

    91940

    对称加密对称加密的区别

    在了解对称加密和非对称加密的区别之前我们先了解一下它们的定义: 对称加密(Symmetric Cryptography),又称私钥加密 对称加密是最快速、最简单的一种加密方式,加密(encryption...对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。...相对于“对称加密算法”这种方法也叫做“非对称加密算法”。非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。...从上面大家应该可以看出对称加密和非对称加密的区别,下面稍微进行一下总结: (1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。...(3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

    2K10

    加密原理详解:对称加密VS非对称加密

    三、什么是对称加密 前言讲的故事就是一个对称加密,小明和小红都知道第一次约会的日期。所以传统的对称加密需要通讯双方都保存同一份密钥,通过这份密钥进行加密和解密。所以非对称加密也称为单密钥加密。...接下来就可以通过对称加密进行通信了。...四、什么是非对称加密对称加密中,加密和解密使用的是同一份密钥。所以,在非对称加密中,加密和解密使用的是不同的密钥。非对称加密中的密钥分为公钥和私钥。...公钥顾名思义就是公开的,任何人都可以通过公钥进行信息加密,但是只有用户私钥的人才能完成信息解密。非对称加密带来了一个好处,避免了对称加密需要传输和保存同一份密钥的痛苦。...现在最流行的非对称加密算法就是RSA加密算法,具体是怎么做的呢,我们继续往下看。

    80730

    为什么非对称加密对称加密慢?

    这个问题是一个读者面试时遇到的一个问题,准备过面试的人应该都记得,非对称加密对称加密的区别之一就是非对称加密的速度慢,但是我们做业务开发的时候通常都是直接调用算法,对其原因并没有过多深究,因此如果有面试官问到了这个问题...对称加密与非对称加密 首先我们先来说一下到底什么是对称加密,什么是非对称加密,这一节主要是用一些例子来介绍一下对称加密和非对称加密是什么,如果你已经了解了,可以跳过本节。...这里提一点:签名 ≠ 加密,通俗点说加密就是你哪怕看到了不该看到的东西,也理解不了。而签名就是你做了任何事,都抵赖不了。 为什么非对称加密对称加密慢?...介绍了这两种加密方式后,我们终于可以回到本篇文章的开头了,为什么非对称加密会比对称加密慢?这是因为对称加密主要的运算是位运算,速度非常快,如果使用硬件计算,速度会更快。...从上一节我们可以知道,非对称加密运行起来通常比对称加密慢,那么这时就有一个问题了,对于密钥的存储情况也是这样吗?非对称加密对于密钥的存储会比对称加密的密钥存储少吗?

    4K41

    Java加密与解密之非对称加密算法

    概述 非对称加密算法与对称加密算法的主要差别在于非对称加密算法用于加密和解密的密钥不相同,非对称加密算法密钥分为公钥和私钥,公钥加密只能用私钥解密,反之私钥加密只能用公钥解密。...相比对称加密算法,非对称加密算法加/解密效率低,但安全性高,这两种算法一般结合使用。常见非对称加密算法有RSA、ECC、Elgamal等。 使用RSA实现加密解密 公钥加密,私钥解密。...; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.spec.PKCS8EncodedKeySpec...; import java.security.spec.X509EncodedKeySpec; import java.util.Base64; import java.util.HashMap; import...java.security.spec.X509EncodedKeySpec; import java.util.Base64; import java.util.HashMap; import java.util.Map

    1.1K10
    领券