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

java——加密解密算法

概述 在项目开发中,我们常需要用到加解密算法,加解密算法主要分为三大类: 三大类加密算法 1、对称加密算法,如:AES、DES、3DES 2、非对称加密算法,如:RSA、DSA、ECC 3、散列算法,...如:MD5、SHA1、HMAC 各算法对比 对称加密算法(加解密密钥相同) 非对称算法(加密密钥和解密密钥不同) 散列算法比较 对称与非对称算法比较 对称加密和非对称加密的区别...非对称加密算法: 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。...因为加密解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。...非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密

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

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

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

    1.1K10

    Golang:加密解密算法

    当需要读取数据时,把加密后的数据取出来,再通过算法解密. 1....关于加密解密 当前我们项目中常用的加解密的方式无非三种....对称加密, 加解密都使用的是同一个密钥, 其中的代表就是AES,DES 非对加解密, 加解密使用不同的密钥, 其中的代表就是RSA 签名算法, 如MD5,SHA1,HMAC等, 主要用于验证,防止信息被修改...,按照相反的顺序进行解密即可恢复明文.加解密中每轮的密钥分别由初始密钥扩展得到.算法中16字节的明文,密文和轮密钥都以一个4x4的矩阵表示....DES DES是一种对称加密算法,又称为美国数据加密标准.DES加密时以64位分组对数据进行加密,加密解密都使用的是同一个长度为64位的密钥,实际上只用到了其中的56位,密钥中的第8,16…64位用来作奇偶校验

    1.7K30

    Java版SMS4加密解密算法

    放弃不难,但坚持很酷~ 前言 最近工作中需要实现HBase自定义扩展sms4加密,今天就先来说一下Java版的SMS4加密解密算法的具体实现。...加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。...1.2 密码算法结构 基本轮函数加迭代 解密算法加密算法相同 1.3 S盒:S-box S 盒为固定的8比特(Bit)输入8比特(Bit)输出的置换,记为Sbox(⋅) 。...package com.xxx.sms4; import java.util.Arrays; /** * @author CREATE_17 * @description: SMS4加密解密算法实现...,获得明文字符串 * @param: cipherText(密文) * @param: key(密钥) * @return: java.lang.String *

    2.4K40

    Java加密解密介绍

    加密解密介绍 常用的加密算法总体可以分为两类:单项加密和双向加密,双向加密又分为对称加密和非对称加密,因此主要分析下面三种加密算法: 对称加密算法、非对称加密算法和单项加密算法(Hash算法)。...1、对称加密算法(AES、DES、3DES) 对称加密算法是指加密解密采用相同的密钥,是可逆的(即可解密)。...2、非对称加密算法(RSA、DSA) 非对称加密算法是指加密解密采用不同的密钥(公钥和私钥),因此非对称加密也叫公钥加密,是可逆的(即可解密)。...加密算法(MD5) MD5全称是Message-Digest Algorithm 5(信息摘要算法5),单向的算法不可逆(被MD5加密的数据不能被解密)。...,DES/AES,注意这里转化为字符串的时候是将2进制转为16进制格式的字符串,不是直接转,因为会出错 * @param res 加密的原文 * @param algorithm 加密使用的算法名称

    1.4K10

    哈希算法(hash)加密解密

    一、哈希算法(hash)加密解密介绍 哈希,英文叫做 hash。 哈希函数(hash function)可以把 任意长度的数据(字节串)计算出一个为固定长度的结果数据。...print(resultHex) 套路一样 三、python如何解密hash算法解密算法,是对源数据 进行运算产生加密数据,以及反向过程,对加密数据反算出 源数据。...加解密算法 和 hash算法 不同点有: 加解密算法 是可逆的,hash算法是不可逆的。...hash算法可以对很大的数据产生比较小的哈希值,而加密算法源数据很大,加密后的数据也会很大 加解密算法 可以分为 对称加密 以及 不对称加密 对称加密加密解密 使用相同的 密钥 。...而 不对称加密加密解密 使用不同的 密钥,通常是一对密钥,称之为公钥(用来加密)和私钥(用来解密)。

    6.3K20

    Java - 深入理解加密解密和签名算法

    Java应用接口的安全性需要从多个方面进行综合考虑和防护。通过采用上述解决方案和最佳实践,可以显著提高Java应用接口的安全性,降低被攻击的风险。...发送方使用密钥将数据加密后发送给接收方,接收方使用相同的密钥解密数据。 优点: 加密解密速度快,适用于大量数据的加密算法简单,易于实现。...性能:对称加密算法通常具有较快的加密解密速度,适合用于大量数据的加密。 标准化和兼容性:一些算法如AES和DES已成为国际标准,得到了广泛的应用和支持。...常用单向散列加密算法 单向散列加密算法,也称为哈希函数,是密码学中的一项关键技术。它们接收任意长度的输入(或“消息”),并返回固定长度的字符串,这个字符串被称为哈希值或摘要。...参数拼接:将排序后的参数名和参数值拼接成一个字符串。 加入时间戳:在拼接的字符串中加入当前时间戳,通常是为了防止重放攻击。 加入APPKEY:将APPKEY拼接在拼接字符串的头部或尾部。

    29100

    Go 加密解密算法总结

    前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式”和”数字签名“。 对称式:对称加密(也叫私钥加密)指加密解密使用相同密钥的加密算法。...具体算法主要有DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。 非对称加密(公钥加密):指加密解密使用不同密钥的加密算法,也称为公私钥加密。...具体算法主要有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。 数字签名:数字签名是非对称密钥加密技术与数字摘要技术的应用。主要算法有md5、hmac、sha1等。...以下介绍golang语言主要的加密解密算法实现。...和我们自定义的加salt算法不同,Hmac算法针对所有哈希算法都通用,无论是MD5还是SHA-1。采用Hmac替代我们自己的salt算法,可以使程序算法更标准化,也更安全。

    3K31

    加密解密(RSA)非对称加密算法

    RSARSA加解密是一种非对称加密算法,由三位数学家Rivest、Shamir和Adleman于1977年提出。它的概念是基于两个密钥:公钥和私钥。公钥用于加密数据,私钥用于解密数据。...加密过程中,将明文m转换为整数M,然后使用公钥对M进行加密,得到密文C。加密操作为C ≡ M^e (mod n)。解密过程中,使用私钥对密文C进行解密,得到明文m。...解密操作为m ≡ C^d (mod n)。优点RSA算法的优点是安全性高,能够提供可靠的数据加密解密。它的缺点是加密解密的速度相对较慢,尤其是对于大数据量的处理。...代码示例首先,生成RSA密钥对,然后使用公钥对明文进行加密,再使用私钥对密文进行解密。...最后,输出解密后的明文 import javax.crypto.Cipher;import java.security.KeyPair;import java.security.KeyPairGenerator

    11310
    领券