第七章 kotlin-非对称加密RSA

kotlin-非对称加密RSA



前言

kotlin-非对称加密RSA。
应用场景:数字签名(结合消息摘要实现)、校验数据完整性。


一、非对称加密

1.简介

公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。

  • 常用算法:RSA
  • 密钥对:公钥和私钥,必须由系统生成并存储
  • 公钥加密,私钥解密;私钥加密,公钥解密。
  • 公钥互换:两个组织或者人相互交换公钥
  • 可逆,加密速度慢

非对称加密

2.非对称加密RSA-生成秘钥对

生成秘钥对

	import java.security.KeyPairGenerator
	
	fun main(agrs:Array<String>) {
		val generator = KeyPairGenerator.getInstance("RSA")//秘钥对生成器
	    val keyPair = generator.genKeyPair()//生成秘钥对
	    val publicKey = keyPair.public//公钥
	    val privateKey = keyPair.private//私钥

		println("publicKey="+Base64.getEncoder().encode(publicKey.encoded))
	    println("privateKey="+Base64.getEncoder().encode(privateKey.encoded))
    }

3.非对称加密三步骤

非对称加密三步骤

import java.security.Key
import java.security.KeyPairGenerator
import javax.crypto.Cipher

fun main(agrs:Array<String>) {

    val generator = KeyPairGenerator.getInstance("RSA")//秘钥对生成器
    val keyPair = generator.genKeyPair()//生成秘钥对
    val publicKey = keyPair.public//公钥
    val privateKey = keyPair.private//私钥

	println("publicKey="+Base64.getEncoder().encode(publicKey.encoded))
    println("privateKey="+Base64.getEncoder().encode(privateKey.encoded))

    //-----------------非对称加密三步骤----------------------------
    //1.创建cipher对象
    val cipher = Cipher.getInstance("RSA")
    //2.初始化cipher
    val key:Key? = null
    cipher.init(Cipher.ENCRYPT_MODE, key)
    //3.加密/解密
	//略。
	//-----------------非对称加密三步骤----------------------------
}

4.RSA分段解密

每次最大解密128字节


总结

以上就是今天要讲的内容,本文仅仅简单介绍了非对称加密RSA知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值