作者chmod (chmod)
看板NetSecurity
标题[转录]Re: [问题] 请问一般程式是用什麽方式储存个资呢?
时间Tue Jan 11 19:06:52 2011
※ [本文转录自 C_and_CPP 看板 #1DA-W5EU ]
作者: tropical72 (蓝影) 看板: C_and_CPP
标题: Re: [问题] 请问一般程式是用什麽方式储存个资呢?
时间: Tue Jan 11 13:17:35 2011
※ 引述《QQ29 (我爱阿蓉)》之铭言:
: 请教各位
: 一只程式如果要储存使用者的个人资料 一般都用什麽方式储存呢
: 假如要储存使用者密码
: 我自己是觉得不可能完全不处理就直接写成text 或是 binary
: 是怕说有人可以窃取到密码
是不是直接写成 text 或 binary 其实是其次,
这部份不知道算不算是密码学的一种..
介绍几种我知道简单的方法,这里分二部份说明,
第一部份是字元的翻译顺序
第二部份是字元的替代方式,不过这方面文献大多只针对英文字母在做探讨。
----------------------------------------------
PART Ⅰ:翻译顺序
1. 反转换位 - 其实就是 reverse
明码:Hello, World!!
密码:!!dlroW ,olleH
破解度:☆☆☆☆☆
2. 几何图形换位 - 以某种几何图形作为位置变换基准。 ex: 正方形
明码(直的看): Hello, World!!
Hoo!
e,r!
l l(NULL)
lWd(NULL)
密码(横着翻):
Hoo!e,r!l l(NULL)lWd(NULL)
破解度:☆☆☆★★
3. 循环途径换位 - 几何图形换位的改善。
明码(直的看):Hello, World!!
H o o !
↙ ↙ ↙
e , r !
↙ ↙ ↙
l l (NULL)
↙ ↙ ↙
l W d (NULL)
密码(斜着翻):
Hoeo,l!r l!lW(NULL)d(NULL)
破解度: ☆☆★★★
注解:还有顺时针、逆时针的方式,看要怎麽跑随便你。
4. 行换位法 - 用几何图形交换法中之资料调动行号顺序
明码:Hello, World!!
行号 1 2 3 4
-----------------
H o o !
e , r !
l l (NULL)
l W d (NULL)
密码(顺序调为 1,3,2,4):
Hellorldo,W!!(NULL)(NULL)
破解度:☆☆☆★★
-------------------------------------------------------------
PART Ⅱ:替代方法
A. 简单代换 - 凯撒加密法是代表,假设 k=3,所有的 char 都进行 +3 动作,
a-> d, c->f..., x-> a, y-> b, z-> c... etc
好了之後再後 PART Ⅰ 方式加解密
B. 多字母取代 - 说白了就是凯撒法的改善。凯撒法的 k 是固定的,这里
可以设定 k[n],那个 n 可以自己定,用完了循环就可以了。似乎是叫 Vigenere 法
k[3] :1,2,3
加密前:abcdefghij
k :1231231231
加密後:bdfegihjlk
------------------------------------------------------------
这部份如果研究浅但广的话,我想一、二天可以研究完。
还要再涉入到 public key,那可能还要再下些功夫,(这部份完全没碰)。
其实其它还有些议题很有趣,
比如说,
1. 怎麽把密码存在 bmp 图档中 (存在每个 pixel rgb 的最後一个 bit) 等等之类
2. 怎麽锁定档案,用特殊的手法才能开启,一般即使是 Administrator 也无法开启
这部份涉入会愈来愈深,其它的有兴趣的话再去查查密码学之类的相关资料,
其实还蛮有趣的。
--
YouLoveMe() ? LetItBe() : LetMeFree();
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.177.76.142
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.135.27.39
1F:推 asadfish:…请问你最近有看到chown吗?找他好久了 01/12 15:09