当前位置: 首页 > news >正文

对称加密算法 非对称加密算法

1.对称加密算法

对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。

对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,

一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,

不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。

密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。

常用对称加密:DES、3DES、AES等

2.非对称加密算法

非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。

私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。

比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。

与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

常用非对称加密:DSA、RSA等

目前C#中提供的RSA非对称加密(其他语言如JAVA是可以逆向加解密的,但没有测试过),只能使用公钥进行加密,只能使用私钥进行解密,不能逆向使用(私钥无法加密,公钥无法解密),

因为这样的安全性更高,不会出现私钥加密后的数据,所有公钥持有者都可以解密的问题,如果一定要有这种需求出现,则可以使用

相关文章:

  • Android系统默认Home应用程序(Launcher)的启动过程源码分析
  • JDBC(二)驱动程序类型发展历程
  • 【JavaScript】n++ VS ++n
  • 【Mybatis】 Mybatis在xml文件中处理大于号小于号的方法【问题】
  • ubuntu下安装thttpd
  • 五、万无一失:网站的高可用架构
  • 日期控件收藏
  • BCH可以直接买机票了!
  • 2000条你应知的WPF小姿势 基础篇51-56 依赖属性
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 《PC端通过http的方式请求并带上cookie》
  • SUSE常用命令
  • 开源运维堡垒机(跳板机)系统 Jumpver v0.1.0 架构说明
  • 小米电视屏蔽广告规则
  • 第五章 程序结构
  • 【React系列】如何构建React应用程序
  • Apache Zeppelin在Apache Trafodion上的可视化
  • es的写入过程
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • java中的hashCode
  • Median of Two Sorted Arrays
  • MYSQL 的 IF 函数
  • PAT A1017 优先队列
  • React-Native - 收藏集 - 掘金
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • spring boot 整合mybatis 无法输出sql的问题
  • TypeScript迭代器
  • 第2章 网络文档
  • 解决iview多表头动态更改列元素发生的错误
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 盘点那些不知名却常用的 Git 操作
  • 前端面试总结(at, md)
  • 前端性能优化——回流与重绘
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 我的面试准备过程--容器(更新中)
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 第二十章:异步和文件I/O.(二十三)
  • 组复制官方翻译九、Group Replication Technical Details
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C#)获取字符编码的类
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (二)PySpark3:SparkSQL编程
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (十) 初识 Docker file
  • (十八)SpringBoot之发送QQ邮件
  • (转)创业家杂志:UCWEB天使第一步
  • (转)重识new
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost