位置:搜学搜课 > 新闻 > 西安编程培训学习哪种语言好
Web前端基础语 | Html5 | Css3 | Javascript | ECMAScript6 |
Media查询 | Flex弹性盒子 | CSS过渡和动画 | RegistExpress |
Web前端框架 | JQuery框架 | Dom和Bom | 事件传播和传播 | 队列动画 |
Animate框架 | Popper框架 | Wow框架 | Bootstrap框架 | |
响应式控件 | 响应式组件 | 响应式表格 | 栅格系统 | |
弹性布局 | 响应式轮播 | 模态窗体 | 响应式导航 |
Web前端工程化 | MySQL数据库 | NodeJS | NPM和CNPM | Express框架 |
Git | Restful API | Ajax | MVVM模式 | |
Vue框架 | Computed | Watch侦听 | Component组件 | |
Webpack工程化 | ESLint代码检测 | Stylus预处理 | Router路由 | |
Vue/cli脚手架 | Vuex状态管理 | Element-UI框架 | Axios |
有两句话是这么说的:
1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。
2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。
注意,这可不是我说的,是无数程序员总结的,话说的很实在也很精辟,若想长久可持续发展,多研究算法还是很有必要的,今天我给大家说说加密算法中的对称加密算法,并且这里将教会大家对称加密算法的编程使用。包含DES、3DES和AES三种对称加密算法的编程使用,干货满满。
1.对称密码算法
对称密码算法是当今应用范围广,使用频率高的加密算法。它不仅应用于软件行业,在硬件行业同样流行。各种基础设施凡是涉及到安全需求,都会考虑对称加密算法。
对称密码算法的加密密钥和解密密钥相同,对于大多数对称密码算法,加解密过程互逆。
(1)加解密通信模型
(2)特点:算法公开、计算量小、加密速度快、加密效率高
(3)弱点:双方都使用同样密钥,安全性得不到增加
对称密码有流密码和分组密码两种,但是现在普遍使用的是分组密码:
(4)分组密码工作模式
1)ECB:电子密码本(常用的,每次加密均产生独立的密文分组,并且对其他的密文分组不会产生影响,也就是相同的明文加密后产生相同的密文)
2)CBC:密文链接(常用的,明文加密前需要先和前面的密文进行异或运算,也就是相同的明文加密后产生不同的密文)
3)CFB:密文反馈
4)OFB:输出反馈
5)CTR:计数器
这五种工作模式主要是密码学中算法在进行推导演算的时候所应用到的。
6.分组密码填充方式
1)NoPadding:无填充
2)PKCS5Padding:
3)ISO10126Padding:
7.常用对称密码:
1)DES(DataEncryptionStandard,数据加密标准)
2)3DES(TripleDES、DESede,进行了三重DES加密的算法)
3)AES(AdvancedEncryptionStandard,数据加密标准,AES算法可以有效抵制针对DES的攻击算法)
先来看一下这三种算法的简单对比:
下面我们看如何使用DES/3DES/AES三种算法实现对称加密:
2.DES算法
1.DES:数据加密标准,是对称加密算法领域中的典型算法
2.特点:密钥偏短(56位)、生命(避免被破解)
3.Java实现
我们可以发现,加密解密我们只是设置了不同的模式而已。
3.3DES算法
1.3DES:将密钥长度增至112位或168位,通过增加迭代次数提高安全性
2.缺点:处理速度较慢、密钥计算时间较长、加密效率不高
3.Java实现
4.AES算法(推荐使用)
1.AES:数据加密标准,能够有效抵御已知的针对DES算法的所有攻击
2.特点:密钥建立时间短、灵敏性好、内存需求低、安全性高
3.Java实现
尊重原创文章,转载请注明出处与链接:http://www.soxsok.com/wnews29154.html 违者必究! 以上就是关于“西安编程培训学习哪种语言好”的全部内容了,想了解更多相关知识请持续关注本站。