前几天在看一些关于密码学的资料的时候发现有关中文的加密在web应用中很少 也就是说 现在很多web程序 很多cms,BBS,大型网站在存储密保问题的答案等中文的东西时都是用明文存储的 所以我就想和大家讨论一种关于存储中文密码和密保问题的答案的方法 更有效的保护用户的隐私和密码安全 而且如果成功把我讨论的这个方法应用到网站的密码存储里并且开发用户可以设置中文的用户密码的话 该网站用户的密码的爆破难度就会增加很多 并且我要讨论的这种加密同样是不可逆的 而且也无法被彩虹表或者暴力破解掉 个人认为能解决目前的明文存储问题
原创思路转载注明 ziwen@f4ck
0X01 what is BS加密?
先来聊聊密码学中的BS加密 BS加密是很简单的中文密文加密 单向不可逆的加密 用一个例子就可以很容易的讲清楚
如 我的密保问题的答案设置为了 子文
经过加密存储在数据库里后变为 2623
明眼者一目了然 是将明文解剖成由拼音首字母组成的字符串 也就是zw
然后按照字母顺序换成英文 26 23
存储到数据库里 并且在每次登录时转换对比
0X02 例程说明一切
用易语言简单写了个例程 大家看看自然明白
<ignore_js_op> licheng.zip (1.78 KB, 下载次数: 0)
0X03 为什么不用MD5?
MD5也可以进行汉字加密 为什么不用MD5呢?
因为目前MD5破解的方法很多 而且 很容易就能做到大量破解MD5
但是此种加密方法很难破解 几乎无法破解
比如拿上面的密文为例 26 23
可以换为 ZW
可是 是ZW为拼音首字母的词汇有很多 比如 中文 找我 子文 中午 几乎无法破解
所以更安全 就算被脱裤用户的信息也不会泄露
本文仅为讨论 为解决明文存储的问题 上述我的一些想法 如果您有好的想法希望提出共同讨论 这种BS加密方式并不是完美的 如果您能找到他的缺陷或者漏洞 欢迎提出一起交流 完善出一套法客论坛共同探讨出来的中文密码解决方案
小菜一枚 求JB
补充内容 (2014-4-20 21:59):
我这里只是讨论 提出了一种和MD5不同的中文加密方法 BS加密 我知道把这个移到安全圈还不是很成熟 所以希望和大家共同讨论 完善思想