NetSecurity 板


LINE

※ [本文转录自 C_and_CPP 看板 #1DA_apqj ] 作者: StubbornLin (Victor) 看板: C_and_CPP 标题: Re: [问题] 请问一般程式是用什麽方式储存个资呢? 时间: Tue Jan 11 14:31:13 2011 ※ 引述《QQ29 (我爱阿蓉)》之铭言: : 请教各位 : 一只程式如果要储存使用者的个人资料 一般都用什麽方式储存呢 : 假如要储存使用者密码 : 我自己是觉得不可能完全不处理就直接写成text 或是 binary : 是怕说有人可以窃取到密码 : 但是我不晓得一般有什麽common approach 去处理这块 : 加密我也不懂 : 但真的要用加密吗? : 还是就存成binary就好..... : 谢谢 密码通常都是存hash之後的值,但是hash有很多种方法,比较简单的就是直接hash hash(password) 但是这有个缺点,如果密码取得很短很烂 透过事先建好的字典档就能快速找到对应的密码,举个例子 用md5当hash函数 密码为 "1234" 对应md5为 81dc9bdb52d04dc20036dbd8313ed055 攻击者只要拿网路上已经建好的md5资料库查询就有了 事先建好的资料库会像这样 ... "1232" -> e53a0a2978c28872a4505bdb51db06dc "1233" -> e034fb6b66aacc1d48f445ddfb08da98 "1234" -> 81dc9bdb52d04dc20036dbd8313ed055 "1235" -> 9996535e07258a7bbfd8b132435c5962 ... 随便找个线上md5资料库,像是这个 http://md5online.net/ 输入 81dc9bdb52d04dc20036dbd8313ed055 很快就能找到对应的原始密码,为了避免这些密码直接被拿来这类的资料库中找对应值 可以加一个salt,也就是一串乱数进去 可以存 hash(password || salt) + salt salt这边是随机产生一的段乱数,可以产生几个乱数喂给一个hash来产生 我们来看一下例子 salt = "97ae97fa15493d04d06e38822b096b88" password = "1234" md5(password || salt) 结果是 74d8abb9518b81f14e13c2835778d50a 在资料库里就不会被找到 "74d8abb9518b81f14e13c2835778d50a not found in our database." 而验证的方法很简单,就从资料库里拿出 hash(password || salt) || salt 因为hash结果长度是固定的,取出salt来和使用者输入的密码 password' 做hash hash(password' || slat) == hash(password || salt) 一样就表示正确 好吧,虽然1234这种烂密码透过暴力法展开所有组合去猜 hash(? || salt) == hash(password || salt) 问号的地方代入所有组合就可以猜到,这时候就得依赖密码本身的强度 因此在让使用者输入密码时尽量提升强度的可能性 不能和id, email等等一样,长度要到n位以上,至少要有符号之类的 这样就比较安全一点,至於被猜到的机会有多少,有一种模型叫 random oracle是专门用来评估这类hash里夹密秘值被猜到的机会有多少 (中文要怎样翻? 随机神谕? 听起来好酷 XD) 这东西我就不懂了 XD 不好懂 但就这样做对大部份的网站存密码而言应该就已经够安全 当然,安全还得看你存的是什麽资料而定 如果存的是核弹启动的密码这就不够安全了 我个人对安全的定义是破解它的成本远大於资料本身的价值 破解成本 >> 资料价值 参考看看 -- Now.in 网路广播电台平台 http://now.in 易记学 程式设计教学 http://ez2learn.com/ VICTOR's 个人Blog http://blog.ez2learn.com/ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.252.66.27 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.135.27.39
1F:→ howshou:存放hash的位置也会用乱数资料夹命名, 避免程式读取预设 01/11 22:23
2F:→ howshou:的存放位置。 01/11 22:23







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP