首页
学习
活动
专区
圈层
工具
发布

对称加密算法与非对称加密算法的优缺点

另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。...主要算法:RSA、Elgamal、背包算法、Rabin、HD,ECC(椭圆曲线加密算法)。常见的有:RSA,ECC 区别 对称加密算法相比非对称加密算法来说,加解密的效率要高得多。...然后两边的通讯内容就通过对称密钥X以对称加密算法来加解密。 ---- 银行动态令牌 网银比较流行的时候,银行给我们发一个动态令牌。...这个令牌并不使用任何对称或者非对称加密的算法,在整个银行的认证体系中,动态令牌只是一个一次性口令的产生器,它是基于时间同步方式,每隔60秒产生一个随机6位动态密码在其中运行的主要计算仅包括时间因子的计算和散列值的计算...在用户从银行手中拿到动态口令令牌卡的时候,在令牌卡的内部已经存储了一份种子文件(即图中钥匙所代表的seed),这份种子文件在银行的服务器里保存的完全一样的一份,所以对于动态口令令牌来说,这种方式是share

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

    加密算法

    加密算法是旅居瑞士中国青年学者来学嘉和著名密码专家J.Massey于1990年提出的。它在1990年正式公布并在以后得到增强。...IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。类似于DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。...由于IDEA是在美国之外提出并发展起来的,避开了美国法律上对加密技术的诸多限制,因此,有关IDEA算法和实现技术的书籍都可以自由出版和交流,可极大地促进IDEA的发展和完善。...(5)将第(1)步和第(3)步的结果相异或。·(6)将第(2)步和第(4)步的结果相异或。(7)将第(5)步的结果与第五个子密钥相乘。(8)将第(6)步和第(7)步的结果相加。...(13)将第(2)步和第(10)步的结果相异或。(14)将第(4)步和第(10)步的结果相异或。每一轮的输出是第(11)、(12)、(13)和(14) 步的结果形成的4个子分组。

    88320

    加密算法

    在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yao)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。...已被视为并不安全的加密算法。  ...plaintext = "Hello World".getBytes(); byte[] ciphertext = cipher.doFinal(plaintext); 非对称加密 算法简述 非对称加密算法和对称加密算法的主要差别在于非对称加密算法用于加密和解密的密钥是不同的...因此,非对称加密算法也称为双钥加密算法或公钥加密算法。 特点 优点 非对称加密算法解决了对称加密算法的密钥分配问题,并极大地提高了算法安全性。...非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。

    4.9K60

    加密算法的前世今生

    来源:labuladong 作者:labuladong 这里说的密码和我们平时用的密码并不是一个概念。 本文讨论的加密算法要解决的主要是信息传输中的加密和解密问题。...下面,我们会介绍对称加密算法、Diffie-Hellman 密钥交换算法、非对称加密算法、数字签名、公钥证书,看看解决安全传输问题的一路坎坷波折。...该算法可以在第三者窃听的前提下,算出一个别人无法算出的秘密作为对称性加密算法的密钥,开始对称加密的通信。...我们常见的 RSA 算法就是典型的非对称加密算法,具体实现比较复杂,我就不写了,网上很多资料。...非对称性加密算法生成一对儿密钥,把加密和解密的工作分开了。

    1.2K20

    那些常用的加密算法

    前言 本文主要讲解一下C#常用的那些加密算法。 MD5加密 MD5加密是最常见的加密方式,因为MD5是不可逆的,所以很多系统的密码都是用MD5加密保存的。...SHA1加密 SHA1加密算法与MD5加密类似,都是不可逆的,只是算法不同。所以也和MD5一样,存在容易被大数据解码的问题。...Base64加密 准确的来说,Base64是一种编码,而不是加密,通常Base64编码后字符串会用于传输数据。 不过也因为Base64编码后字符串具有不可读性,所以,不少人也把他当做加密算法来使用。...Des加密 DES加密算法是对密钥进行保密,而公开算法,即只有拥有相同密钥的人才能解密。 DES加密算法对密钥有要求,必须是8个字符,如abcdefgh这样的。...结语 到此C#常用的那些加密算法就介绍完了,下面我们一起看一下,同一字符串,加密后情况。 ? 可以看到,不同加密方式得到的密文长度都不一样,其中DES加密后在Base64编码的模式的密文长度最短。

    1.8K10

    PHP的几种加密算法

    MD5加密 md5加密算法在PHP中是最常见的加密算法,这个算法是不可逆的,通常用于加密用户的密码等信息来保证用户的信息安全。...> Crypt()加密算法 crypt()加密算法是一种不可逆的加密算法,他有两个参数,一个是需要加密的字符串,另外一个是盐值(或者成为干扰字符串),如果没有指定第二个参数那么将自己随机生成一个干扰字符串并且是以...> sha1加密算法 sha1加密算法和MD5加密算法一样时不可逆的,有两个参数,一个是要加密的字符串,第二个是bool值,如果指定第二个参数为TRUE,则返回二进制格式的字符串,如果不指定则默认为FALSE...,所以如果你想实现真正的加密,并不推荐这个加密算法。.... password_get_info() – 返回加密算法的名称和一些相关信息.

    3.4K40

    加密算法-----BCrypt

    一、常见的加密算法: 可逆算法:一种可以将加密后的密文还原为原始明文的算法。 对称算法:对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。...PBKDF2(Java 原生支持,但不如 BCrypt/Argon2) 二、BCrypt的使用 Bcrypt是一种哈希加密算法,被广泛应用于存储密码和进行身份验证。...由于生成的盐值是随机的,所以即使每次使用相同的密码得到结果也是不同的。这样可以有效的防止攻击者使用一些手段破解用户密码。...1.加密工具类 /** * 加密算法工具类 */ public class BCryptUtils { /** * 生成加密后密文 * * @param password...r.setCode(code); r.setData(data); r.setMsg(msg); return r; } } 三、管理员登录-真实加密算法使用

    1.4K10

    加密算法介绍

    加密算法介绍 1. 数字签名 数字签名,简单来说就是通过提供 可鉴别 的 数字信息 验证 自身身份 的一种方式。一套 数字签名 通常定义两种 互补 的运算,一个用于 签名,另一个用于 验证。...对称加密和非对称加密 加密算法分 对称加密 和 非对称加密,其中对称加密算法的加密与解密 密钥相同,非对称加密算法的加密密钥与解密 密钥不同,此外,还有一类 不需要密钥 的 散列算法。...对称加密 对称加密算法 是应用较早的加密算法,又称为 共享密钥加密算法。在 对称加密算法 中,使用的密钥只有一个,发送 和 接收 双方都使用这个密钥对数据进行 加密 和 解密。...常用加密算法 4.1. 常用算法描述 加密算法 描述 SHA1 SHA1 是 消息摘要算法,SHA1 比 MD5 的 安全性更强。...一个 SECRET_KEY(密钥)扩展成多个子 SK,轮加密 RSA RSA 加密算法是目前最有影响力的 公钥加密算法,并且被普遍认为是目前 最优秀的公钥方案 之一。

    98700

    探秘加密算法

    信息加密是前后端开发都经常需要使用到的技术,应用场景涉及用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的加密算法。 下面小编给大家分享一些常见的加密算法。...加密算法应用 在数据安全领域,利用加密算法来对通信的过程进行加密是一种常见的手段。...其中对称加密算法的加密与解密密钥相同,非对称加密算法的加密密钥与解密密钥不同。 下面对这三类加密算法分别进行介绍。 1. 对称加密 对称加密算法介绍 对称加密算法,又称为共享密钥加密算法。...常见的非对称加密算法 常见的非对称加密算法有RSA、DSA、ECC 等。 1)RSA算法 RSA 加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一。...2)ECC算法 ECC 也是一种非对称加密算法,主要优势是在某些情况下,它比其他的方法使用更小的密钥,比如RSA加密算法,提供相当的或更高等级的安全级别。

    1.9K10

    BCrypt加密算法

    CSPRNG跟普通的随机数生成算法,比如C语言标准库里面的rand()方法,有很大不同。正如它的名字所揭示,CSPRNG是加密安全的,这也表明了它产生的随机数更加随机,且不可预测。 盐不能太短。...如果盐很短,那意味着密码+盐组成的字符串的长度和取值空间都有限。破解者完全可以为 密码+盐 的所有组合建立彩虹表。 盐不能重复使用。如果所有用户的密码都使用同一个盐进行加密。...那么不管盐有多复杂、多大的长度,破解者都可以很容易的使用这个固定盐重新建立彩虹表,破解你的所有用户的密码。所以应当在每一次需要保存新的密码时,都生成一个新的盐,并跟加密后的hash值保存在一起。...注意:有些人可能会将每个用户都不同的字段(uid、手机号之类的)来作为盐。很明显这是不规范的,几乎违背了上面三条盐的生成规则。...有了这个表,就可以通过遍历的方式破解密码 最早的MD5或SHA-1方式: md5(md5(password) + salt) 现在大部分的加盐加密都将MD5或SHA-1替换为了更为安全的哈希函数:SHA

    3K20

    每日一博 - 对称加密算法 vs 非对称加密算法

    概述 在信息安全领域中,加密算法是保护数据安全的重要手段。 加密算法可以分为多种类型,以下是其中的一些: 对称加密算法:使用相同的密钥进行加密和解密,如DES、AES等。...以上是一些常见的加密算法分类,不同的加密算法适用于不同的场景和需求。 我们今天来梳理一下将分别介绍这两种加密算法的优缺点,并通过Java代码实现和测试结果来验证其效果。...一、对称加密算法 对称加密算法是指加密和解密使用相同密钥的算法。 常见的对称加密算法 常见的对称加密算法有 DES、 3DES、 AES等。...因此,非对称加密算法的密钥管理较为方便。 安全性高:非对称加密算法的安全性相对较高,能够保证数据的机密性和完整性。...缺点: 加解密速度慢:非对称加密算法的加解密速度较慢,不适合大量数据的加解密。 密钥长度较长:非对称加密算法需要使用较长的密钥,因此需要更多的计算资源和存储资源。

    90030

    NodeJS加密算法(一)

    你真的了解NodeJS的加密模块crypto吗?本文通过crypto的api深入了解加密算法 安全加密 当发送方A向接收方B发送数据时,需要考虑的问题有: 数据的安全性。...crypto.createCipher(algorithm, password) :用给定的算法和密钥,创建并返回一个 Cipher 加密算法的对象。...crypto.createCipheriv(algorithm, key, iv) :用给定的算法、密钥和向量,创建并返回一个 Cipher 加密算法的对象。...公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 公开密钥加密 ?...无法防止中间人攻击,A 不知道收到的公钥是否是来自 B 实现算法有:RSA 算法、椭圆曲线加密算法等 推荐:RSA ?

    3K10
    领券