提高用户权限模块的数据安全性

97 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情

概述

现在很多大公司都频频出现用户信息泄露这种严重问题。今天我们讨论一下如何可以提高用户权限模块的数据安全性

数据加密

但凡涉及到密码的地方都需要对数据进行加密处理,用户的登录,注册,修改密码等操作。因为在前端请求后端接口的通过过程中,数据如果是明文显示很容易被黑客截取并篡改。除了通讯过程中需要对数据进行加密,我们数据入库的时候,敏感的数据也是不能明文存储的,建议加密处理后在存入数据库,这样就算数据库被黑了,黑客也无法知道里面存的是什么内容。

加密算法

现在加密算法大致分为三种,对称加密算法,非对称加密算法和Hash算法。

一、对称加密算法,加密和解密使用相同的密钥。对称加密算法加密解密速度快,但安全性较差。常见的算法有DES,AES,RC4等等。

二、非对称加密算法,加密和解密使用不同的密钥,也称为公私钥加密。非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比对称加密慢上1000倍。但安全性比对称加密算法高。常见的算法有RSA,DSA,ECC等等。

三、Hash算法,一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。Hash算法常用在不可还原的密码存储、信息完整性校验等。常见的算法有MD5,SHA等等。

给不同的场景选择合适的加密算法

当我们的场景要求加密过程是可逆的就考虑使用对称和非对称算法,如果需要加密强度高一点的又可以接收解密耗时的就使用非对称算法因为这中算法目前可以抵抗已知的所有密码攻击。如果场景不需要可逆的则可以使用hash算法。