由于项目需要, 这周找了一些加密算法. 其中MD5是Django自带的注册系统使用的密码加密技术, 特点是不可逆, 只能验证密码是否正确, 不能还原出原密码. 我想找的是相对简单的, 可以还原的加密算法. 想了一下, 其实理论上来讲, 只要黑客能拿到密文, 能找到加密的代码, 任何一种可逆的加密算法, 都可以被还原出来. 所以也不准备给自己添堵了, 准备找一种难度适中, 一般人无法很快破解, 当然遇到厉害的黑客, 用更复杂的算法估计也白瞎. 需要加密的复杂度和要求确定好之后, 开始在网上找相应的加密算法.
后来找到一种base64的加强版的加密算法, 如果黑客拿不到源码, 看不到master key是很难直接破解出来的. 从一定程度上来说, 做到了相对安全. 比起CSDN明文存储密码, 然后数据库泄露来说, 我们这种小项目这种程度的加密方式应该是足够了的.
这两天耳闻了一些事情, 也有点感触.
- 某安全大佬自搭的网站被黑客攻击. (推测黑客进入的方式竟然是破解了ssh登录密码)
- 隔壁某些学长大佬, 自作聪明安装电子锁, 导致实验室近几天门一直锁不上.
- 某大佬利用一些信息, 登录了控制电子锁的树莓派, 怎么登录的呢? 树莓派用的默认登录名和密码. 隔壁的大佬是真的优秀呀.
做安全的人总想的是, 如何攻击别人, 如何破解别人的网站. 好像很少换位思考过. 设置网站管理员账号, 用户从来就是admin, 密码就爱用admin123; ssh的密码不用强密码, 爱自己想一个好记的密码, 但是同时也为黑客提供了便利. 树莓派就用默认的用户名和密码就OK, 换一个, 多麻烦呀. 一句话, 安全意识, 比安全技术更重要. 隔壁学长的技术不错吧, 没有安全意识, 还不是栽倒本科生手里了. 部分观点可能与事实不符, 只是个人一些感悟. 受这些启发, 手头项目的相关密码, 全部使用16位随机强密码, 所以想暴力破解, 还是算了吧.