本站已运行

攻城狮论坛

作者: 合肥清默
查看: 3913|回复: 37

主题标签Tag

more +今日重磅推荐Recommend No.1

所有IT类厂商认证考试题库下载所有IT类厂商认证考试题库下载

more +随机图赏Gallery

【新盟教育】2023最新华为HCIA全套视频合集【网工基础全覆盖】---国sir公开课合集【新盟教育】2023最新华为HCIA全套视频合集【网工基础全覆盖】---国sir公开课合集
【新盟教育】网工小白必看的!2023最新版华为认证HCIA Datacom零基础全套实战课【新盟教育】网工小白必看的!2023最新版华为认证HCIA Datacom零基础全套实战课
原创_超融合自动化运维工具cvTools原创_超融合自动化运维工具cvTools
重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)
链接已失效【超过几百G】EVE 国内和国外镜像 全有了 百度群分享链接已失效【超过几百G】EVE 国内和国外镜像 全有了 百度群分享
某linux大佬,积累多年的电子书(约300本)某linux大佬,积累多年的电子书(约300本)
乾颐堂现任明教教主Python完整版乾颐堂现任明教教主Python完整版
乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)
Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天
约21套Python视频合集 核心基础视频教程(共310G,已压缩)约21套Python视频合集 核心基础视频教程(共310G,已压缩)
最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程
最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器

浅谈网站安全之MD5加密

  [复制链接]
查看: 3913|回复: 37
开通VIP 免金币+免回帖+批量下载+无广告

MD5加密算法在我们做网站开发的时候用过的很多,首先用户的密码我们每次都是要加密存进数据库。

其实在C#中实现对数据(字符串)的MD5加密是非常简单的。+ ~' e- G' t8 |( a3 j% z* t
引用using System.Security.Cryptography;
; [( Y1 M( v4 W6 J0 i+ G: P% ?" Tpublic string Md5(string str)$ T* l* R% t5 }- F) ~, Q" o
{
# H- @  P. `& EMD5 md5 = new MD5CryptoServiceProvider();
. a" k; o  _. pbyte[] data = md5.ComputeHash(UnicodeEncoding.Default.GetBytes(str));
& V7 L6 j0 v5 F6 I4 jStringBuilder strBuilder = new StringBuilder();  [) O, a; ]: D# B
for (int i = 0; i < data.Length; i++)
3 T/ K' T4 D+ `5 }+ q; d{
/ D3 K/ A6 M; g7 b" A8 i; ~strBuilder.Append(data.ToString("x2"));
8 A6 X" c0 Q0 @) _, M}& u# j$ c4 {( X- z
return strBuilder.ToString();
6 P, F! W# W1 Q* M: O2 `}
9 s+ G* G8 B( n6 b# j这样返回的是32位的字符串。
7 p! z# P; C4 B4 ~6 c) I  w但是我们在查看别人的数据库数据的时候有是会发现PASSWORD是16位的。0 R+ ~: a6 N$ a2 C
这是这样计算的:
4 s& r2 [6 V% w2 I8 bmd5计算(admin)=2123 2f29 7a57 a5a7 4389 4a0e 4a80 1fc3;
2 Q  i1 {# w- A0 `! F  r16=7a57 a5a7 4389 4a0e;其实是在32位的加密的基础上取了它的重第9位到24位。即substring(8,16)。
. i8 V& L$ O/ B; y. i其实还有一个就是我在查看别人数据库的时候发现有40位的(主要是各大破解MD5的网站太多了,MD5加密已经没有那么安全了,所以有些人又变换出来了40位的。其实一看40位的也很简单,变换的不复杂。):
' g" v: Z5 r' B+ u0 ~  Q5 h6 Y我们一起开看看它是怎么运算的:
( j" i8 V6 V3 S7 S. A# J4 N40位的:7a57 a5a7 4389 4a0e 4a80 1fc3 4389 4a0e 4a80 1fc3
& W$ X2 p: Z4 U) F前面16位:即是MD516位的加密7a57 a5a7 4389 4a0e。
! l* F1 J9 k/ J剩下的24位:4a80 1fc3 4389 4a0e 4a80 1fc3
8 ]+ p' {0 e6 h" ?. h% ^4 ~不难发现:4a80 1fc3=MD532位加密的后8位+ 4389 4a0e=MD516位加密的后8位+4a80 1fc3=MD532位加密的后8位。6 g2 u& ?) _  X
所以这核心就是保存了前面16位。有了这16位就可以保证数据的正确性,至于后面的都是迷惑大家用的。其实也可以进行其他各种的变换。如我对它(admin)进行16加密只后把它首位分开放置.然后中间在按照自己的算法放置字符串。产生一个40位的密码。0 J$ V, B- y2 _
为什么会这样说呢?6 s. X7 L8 H8 ~
其实现在的SQL注入还是很严重的。万一我们的网站做的出现了注入漏洞的话,被某些HACKER(脚本小孩),拿到了帐号密码之后,一看是40位的。它就开始蒙了。心想这是什么加密,(其实加密的算法有很多哦。)百度之后呵呵抱歉这是你自己想的一个。这样就可以避免了一些威胁。不是吗?& D% U- G9 a) k! V& \5 ]
还有就是自己的密码长度格式:在13位左右-有数字,字母,大小写,以及@字符; E6 U" A! }5 t) F& l
例如:AiaoqQ@91b91b1 ?% s# O; V5 r' l+ ]
这是我的一个密码的规范:在@之前的密码用字母表示第一个和最后一个都大写
  K3 ^, p. U  l@之后都用数字但是出现了8我就替换成b.
3 w0 Z( \4 _  j) u也很好记住:xiaoqq我的昵称,918我的生日重复一次。遇到8=b.) b: b: X3 X5 G9 |9 a
呵呵希望这篇文章对某些人有帮助。% g2 B  r; Z" O" f
CCNA考试 官方正规报名 仅需1500元
回复 论坛版权

使用道具 举报

drpalm [Lv8 技术精悍] 发表于 2013-10-15 09:53:21 | 显示全部楼层
向楼主学习
回复 支持 反对

使用道具 举报

郎漫 [Lv8 技术精悍] 发表于 2013-10-15 20:13:45 | 显示全部楼层
回复 支持 反对

使用道具 举报

w10 [Lv8 技术精悍] 发表于 2013-10-15 20:13:45 | 显示全部楼层
我是来刷分的,嘿嘿
回复 支持 反对

使用道具 举报

ykwl [VIP@钻石] 发表于 2014-3-24 17:49:08 | 显示全部楼层
我是个凑数的。。。
回复 支持 反对

使用道具 举报

ericyuenhk0913 [Lv8 技术精悍] 发表于 2014-3-26 17:13:05 | 显示全部楼层
我是个凑数的。。。
回复 支持 反对

使用道具 举报

syson [Lv8 技术精悍] 发表于 2014-3-29 19:40:34 | 显示全部楼层
我是个凑数的。。。
回复 支持 反对

使用道具 举报

fucking [Lv8 技术精悍] 发表于 2014-3-31 15:11:22 | 显示全部楼层
回复 支持 反对

使用道具 举报

tashi [Lv8 技术精悍] 发表于 2014-3-31 20:10:04 | 显示全部楼层
谢谢楼主,共同发展
回复 支持 反对

使用道具 举报

黑猪王 [VIP@钻石] 发表于 2014-4-2 23:03:10 | 显示全部楼层
学习了,不错,讲的太有道理了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图浏览|手机版|网站地图|攻城狮论坛

GMT+8, 2026-7-5 16:11 , Processed in 0.126469 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

Designed by ARTERY.cn