背景
有一定复杂度的密码,一般都要求以下3点:
长度在8位以上;
包含大小写字母混合;
包含数字、特殊字符;
如果非要加上第4点,我想一定是趣味好玩记得住。
可是,这样的密码即使构建出来了,很不容易记忆,比如Q4m)h4gWlczr!h,很复杂吧,但是枯燥无味保准记不住。
以古诗词为基础,创建符合要求的密码
比如:
出塞
唐·王昌龄
秦时明月汉时关,万里长征人未还。
但使龙城飞将在,不教胡马度阴山。
秦时明月汉时关,万里长征人未还。这句就可以创造出密码Q4m)h4gWlczr!h,输入密码的时候,只需要默念秦时明月汉时关,万里长征人未还。 以拼音首字母为基础,句首字母大写,时谐音成4,月形象为),未转换为!(编程语言C中的逻辑否定语义)。
通用转换规则
两句连在一起,取拼音首字母,句首字母大写;
数字规则
谐音líng/ lín换成0、零;形象字无、女、母、雌、阴;
谐音yī 换成1;形象字有、男、公、雄、阳、单、独;
ai/两换成2,亦可替换双、对
谐音san/shan换成3
谐音si/shi换成4
谐音wu/wo换成5,可替换我、舞
谐音liu/lu/lü换成6
谐音qi/qu/chi换成7,
谐音ba/bai换成8,
谐音jiu换成9,
特殊字符规则:
! 叹号 exclamation mark/bang,可替代未、不、无等否定字,也可代惊、叹
? 问号 question mark,可替代谁、何、问、几
, 逗号 comma,可替代谐音dòu
. 点号 dot/period/point ,可替代点、的
: 冒号 colon ,可替代冒
; 分号 semicolon ,可替代分
” 双引号 quotation marks/double quote ,可替代双
‘ 单引号/撇号 apostrophe/single quote ,可替代单
` 重音号 backquote/grave accent,可替代重
* 星号 asterisk/star,可替代星、乘、日、阳、花、雪、菊
+ 加号 plus sign,可替代谐音jiā
- 减号/横线 hyphen/dash/minus sign/ ,可替代减、横、连
= 等号 equal sign,可替代等
/ 斜线 slash,可替代斜
\ 反斜线 backslash/escape,可替代反转
| 竖线 bar/pipe/vertical bar ,替代谐音shù、长
_ 下划线 underline/underscore,可替代下、南、低、底
$ 美元符号 dollar sign,可替代美、弓、龙(盘在柱子上的龙) 、蛇、谐音钱、金
@ at at sign ,替代在以及任何可滚动或环状意境的字,比如滚、环、圈、圆;还可替代所有有辶的字,如:逃进近遁边随等。
# 井号 crosshatch/sharp/hash,可替代井、网,也可谐音jǐng
% 百分号 percent sign/mod,替代百、白
& and/和/兼 and/ampersand,替代和、兼、且
^ 折音号 circumflex/caret ,可替代上、北、高
~ 波浪号 tilde,可替代云、水、雨、风、浪、丝等有波纹意境的字以及叠字的第二字
{} (左右)花括号/大括号 (left/right|open/close) braces,{可替代西,}可替代东
[] (左右)方括号/中括号 (left/right|open/close) brackets,]可替代中、右,[可替代左
() (左右)圆括号/小括号 (left/right|open/close) parentheses, )可替代月,(可替代刀
<> 尖括号 angle brackets
< 小于号 less than,可替代小、
> 大于号 greater than,可替代大、于、入、向
空格 可替代空
补充规则:
对于既可以替代为数字也可以替代为特殊字符的时候(比如阳可以替换成*或者1),如果当前密码缺乏数字,那就替换成数字,如果当前密码缺乏特殊字符,那就替换成特殊字符,如果都缺乏或者都有,也替换成数字。
长度达不到8位。补充到8位,缺几补几,例如缺1个那就补1,缺2个就补22,以此类推。例如羌管悠悠霜满地(Qgy~smd1)。
缺少数字。取末位字拼音声调,1234。
缺少特殊字符。补刀($)即可。
扩展:不同网站不同密码
比如大吕勇这种技术控,不止想要有复杂的密码,还想有不同网站不同密码,咋办呢?
选定基础密码后,在头尾进行扩展。比如,选定基础密码,煮豆燃豆萁,豆在釜中泣(Z,rd7,@f]7)。京东的密码就扩展成:j{基础密码}d=>jZ,r,7,@f]7d,淘宝的密码就是:t{基础密码}b=>tZ,r,7,@f]7b,亚马逊的密码就是:y{基础密码}mx=>yZ,r,7,@f]7mx,QQ的密码就是:q{基础密码}q=>qZ,r,7,@f]7q,以此类推。
如果有的网站不允许你输入特殊字符,你又不得不录入密码的话,你就只能心里默默的骂一句狗娘养的,然后,去掉一切特殊字符的规则,基础密码换成Zdrd7Dzfz7。如果有的网站还不允许超过8位,那就只能再骂一句娘希匹,基础密码换成Zdrd7了,再加上头尾,就是7位了。
再次扩展:不同网站不同古诗
京东,在古诗中找京字或者东字的,比如:京口瓜洲一水间,钟山只隔数重山。
淘宝,淘->涛->大江东去,浪淘尽,千古风流人物。
亚马逊,马->下马饮君酒,问君何所之。
其它自己去中华诗词网查询去
这些古诗,可以在云笔记里面记录下来,什么网站对应什么古诗。
PS:估计密码多了最后自己一直都要找回密码
原文链接:https://github.com/bingoohuang/blog/issues/22