1、什么是加密算法所谓加密算法就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段密文,使其只能在输入相应的密钥之后才能显示出原容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。2、加密算法的分类加密算法具体而言可分为以下三类:信息摘要算法:又叫哈希算法(hash), 不可逆, 常用于不需要解密的场景。对称加密算法:加密和解密的密钥是一样的。非对称加密算法:加密和解密的密钥是不一样的。注意:上述的对称加密和非对称加密又有人称之为双向加密(存在加密和解密的过程)。hash算法加密过程不需要密钥,常见的加密散列算法有MD系列和SHA系列。一个理想的加密散列函数应该具备以下特性:任何信息传入后,输出的总是长度固定;消息摘要看起来是“随机的”,这样根据原始信息就很难推测出值;好的散列函数碰撞概率应该极低,也就是不同信息传入后得到相同值的概率;对称加密与非对称加密常见的加密算法如下:对称加密:DES、3DES、AES、RC4非对称加密:RSA、DSA、ECDSA对称加密的优缺点:优点:加密解密快、紧凑(加密前后数据大小变化不大)缺点:密钥管理和分发困难,不够安全非对称加密的优缺点:优点:解决密钥管理和分发问题,实现对数字签名的需求缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密3、加密算法在开发中的使用主流语言的密码库加密算法推荐使用各个编程语言自带的密码库去实现,我列举一下常见编程语言的密码库,有需要学习的同学自行了解:Java: Java内置了java.security、javax.crypto、javax.net.ssl这些跟加密相关的模块,有兴趣自己了解。JavaScript: node.js自带crypto模块,提供了哈希、对称加密以及非对称加密。Python: Python提供了诸如hashlib、zlib、hmac等标准库。另外python的扩展库pycrypto和cryptography在加密算法方面做的更加完善。Golang: Golang里面自带crypto模块,提供多种加密算法,有兴趣可自己了解。日常开发注意事项在日常开发中要对诸如密码、手机号、身份证号码这些敏感信息进行加密处理,如果是手机号、身份证号这种需要双向加密的,就应该使用诸如AES、DES能够快速加解密的对称加密算法,如果是密码这种只需要单向加密(防泄露即可),可使用诸如MD5、SHA1等不可逆的哈希算法。在上一段描述的场景下,只是杜绝敏感信息以明文形式存储在数据库,防止黑客攻击把用户的所有信息一窝端的情况下泄露了用户隐私,在实际的业务处理过程中除了密码这样的信息其他信息若是密文一般都会解密出来再进行处理。然后还有一个问题就是前端有没有必要加密数据?答案是没有必要,因为客户端的代码很容易被分析,这种情况下有没有加密其实都没有什么用,你想一下你怎么加密的都被人家分析出来了,人家拿走你的密文,你就算加密了那有什么用?
点赞 0
评论 0
全部评论

相关推荐

昨天 18:27
已编辑
门头沟学院 C++
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打————————————————————分割线——————————————————————2026.3.4更新:发完贴之后,时不时投递又收到了不少的笔试/面试邀请。主要是之前投递简历出去之后基本上都是沉默状态,年后好转了不少timeline:2026.01.21 文远知行笔试,半年多没刷算法题 ->挂 (后续HR说春招可以重新安排笔试)2026.2.4     小鹏汇天 技术一面,第二周收到结果 ->挂2026.2.12   大众Cariad代招 技术二面 ->Offer2026.2.28   多益网络技术面试,由于风评太差,一直在犹豫要不要接面试 ->推迟-----------分割线-----------2026.3 月前的某一天,临时去电网报名了二批计算机岗位的笔试2026.3.6 从上家公司实习离职,氛围最好的一家公司,leader 说可以帮忙转正,但是流程太长,而且我们部门据说只有一个 hc,更想要研究生,我很有可能是会被签外包公司在这里干活,就离职了。2026.3.9 入职新公司,大众Cariad 以外部公司的身份进组,项目组签了三年,后续三年应该都可以在这里呆,不知道有没有希望原地跳槽。2026.3.10 电网考试居然说我通过资格审查了,短信约我去参加资格审查,请假一天,买了 12 号晚上的机票回成都2026.3.15 参加国家电网三新计算机类的笔试2026.3.17 电网出成绩了,感觉很低。觉得已经🈚️了2026.3.18 收到电网面试通知,通知 3.22-3.25 这个时间去面试,我的岗位只招 1 个人。据说面试只有 2-3 人,不知道能不能成功
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务