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

java——加密解密算法

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

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

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.6K30

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.3K40

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算法可以对很大的数据产生比较小的哈希值,而加密算法源数据很大,加密后的数据也会很大 加解密算法 可以分为 对称加密 以及 不对称加密 对称加密加密解密 使用相同的 密钥 。...而 不对称加密加密解密 使用不同的 密钥,通常是一对密钥,称之为公钥(用来加密)和私钥(用来解密)。

5K20

Go 加密解密算法总结

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

2.8K31

经典的PHP加密解密算法

项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理。...笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家。加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果。...:DECODE表示解密,其它表示加密;key:密匙;expiry:密文有效期。...return str_replace('=','',base64_encode($result)); } } 函数encrypt(string,operation,key)中string:需要加密解密字符串...;operation:判断是加密还是解密,E表示加密,D表示解密;key:密匙。

1.7K20

sm4算法加密解密

一、基本知识 分组加密(英语:Block cipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。...对称加密加密算法主要可以分为两种,一个是非对称加密算法,另一个就是对称加密算法。...对称加密简单来说就是有一个明文,通过一个密钥加密之后得到一个密文,这个密文可以通过相同的密要解密得出和原来相同的明文 二、sm4算法 算法定义:SM4算法是一种分组密码算法。...SM4算法加/解密算法的结构相同,只是使用轮密钥相反,其中解密轮密钥是加密轮密钥的逆序。...+ enStr); String deStr = decodeSms4HexToString(enStr, key); System.out.println("解密后:" + deStr); //查看经过加密解密后的字符串是否与最开始的原生字符串是否一致

1.5K20
领券