我的密码算法v1.0

AlgoStrider
• 阅读 2428

起因是 csdn密码泄露事件。那天晚上我彻夜未眠...把所有网站密码改了一通,不管是用了没用那个密码的都改...

然后就发现了一个噩梦...如果每个网站的密码都不一样,那记起来岂不是噩梦。于是把几个主要的网站密码改的不一样,其他网站都一样...另外把用到的安全邮箱都指向了很早之前注册的但经常不用的另外一个邮箱..

这个密码v1.0版本是2012年8月份形成的,之前主要用在蘑菇街/美丽说/返还网等密码中.说起来好简单..

ps:目前密码进化到v3版...万变不离其宗,变化的主要目的是不让那么随便猜出basepassword


var md5passwd = md5('[basepassword]'); var salt = md5password[1..n] #n = [1,3,5,7,9,13,17,19,23,29,31] var passwd = md5(salt+ '[email]' +'[domain]')[0..8]

example:

package main

import (
    "crypto/md5"
    "fmt"
    "io"
)

func main() {

    var salt []byte

    domain := "www.mogujie.com"
    email := "123@mogujie.com"
    basepasswd := "123456"

    prim := []uint32{1, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31}

    h := md5.New()
    io.WriteString(h, basepasswd)
    md5basepasswd := fmt.Sprintf("%x", h.Sum(nil))
    for _, v := range prim {
        salt = append(salt, md5basepasswd[v])
    }

    hh := md5.New()
    io.WriteString(h, string(salt))
    io.WriteString(h, email)
    io.WriteString(h, domain)
    md5str := fmt.Sprintf("%x", hh.Sum(nil))
    fmt.Println(md5str[0:9])
    // output:d41d8cd98
}

为什么使用md5因为md5出来的值刚好32位,第32位在程序语言中是31..是一个质数
也就是说md5出来的值最有一位参与了后面的计算过程

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
李志宽 李志宽
4年前
成功端掉了一个色情网站!教科书级的社工教学。
0x00事件起因在知乎上,有一位叫凌云的大神讲述了自己端掉色情网站还把建站者揪出来教育了一顿,剧情实在精彩,主题非常正能量,强烈推荐给大家阅读。以下是正文内容。“我顺着一个色情网站域名顺藤摸瓜查到了背后操控者的真实身份,最后劝他关掉了色情网站,找份正经工作好好干”。——凌云今天要讲的事是在去年的9月份发生的,今天重新整理并且写下后来发生的事。事情是
Aidan075 Aidan075
4年前
2019最烂密码榜单出炉,教你设置神级密码!
↑关注置顶 有趣的不像个技术号近日,SplashData公布了2019年最烂密码榜单TOP100,123456”这个烂密码,从2013年开始连续七年夺冠!而根据《中国网民个人隐私状况调查报告》,以“几个密码通用于大多数账号”的中国网民占比达到50.8%。对自己拥有的所有账号都采取同一套密码的人占14.9%。在信息泄露时,58.9%的
陈占占 陈占占
3年前
虚拟机与SXhell6 的链接
1.安装虚拟机(自己上网安装虚拟机)1.我用的是CentOS7的镜像选择语言然后就是用户名与密码(建议密码设一样的)等进度条满了,有一个重置按钮(在后台运行的)然后等待,虚拟机重启localhostlogin:zxc(用户名)Password:(密码自己输入是看不见的)输入完后回车换成root用户($表示是普通用户,表示当前是ro
Wesley13 Wesley13
3年前
MySQL远端连接设置
下面是步骤:0、新安装完后是没有密码的,为root添加密码:mysqladminurootpasswordroot'spassword1、登陆本地的mysqlServer:mysql uroot p输入密码后进入mysql。参数u是输入用户名,这里是用root登陆,p是要输入密码。2、使用并查看mysql
Wesley13 Wesley13
3年前
mysql用户
1\.学会能按着需求创建一个帐号2\.知道连接字符串是什么样3\.密码密码怎么恢复mysql用户权限介绍mysql用户管理 !(https://oscimg.oschina.net/oscnet/368d3c1e00a0a9515545c2962660a27a080.png)!(https://oscimg.oschin
Wesley13 Wesley13
3年前
EditText数据回显
首先我们假设我们把用户名和密码都保存在data/data/com.xxx.xxx/files/info.txt中,格式为:用户名密码。我们接下来要做的就是把info.txt中保存的用户名和密码分别回显在两个EditText中。下面为自定义的回显用户名和密码的方法:publicstaticMap<String,StringgetSaveUs
Wesley13 Wesley13
3年前
PG 数据库安全
身份鉴别(toc_0)pg\_hba.conf的配置原则(toc_1)用户密码复杂度(toc_2)用户密码有效期(toc_3)用户密码存储策略(toc_4)应用服务器配置文件安全(toc_5)权限安全配置(to
Wesley13 Wesley13
3年前
4.11 重置密码 4.12 单用户模式 4.13 救援模式 4.14 ls命令 4.15 chmod命令
4.11重置密码忘记了root密码,没办法登录了。就需要重置密码了。用的是密钥认证,忘记root密码无所谓,只要你记得密钥密码即可。密码和密钥都支持远程登录,是不是说启用了密钥,密码就失效了。答案是:不是。二选一,你随便用哪一种都可以。那为什么还要使用密钥呢?因为密码相对密钥来说,更容易被破解。密钥认证指的是远程的ssh登录。而本