PwdGen - 用Go语言实现的密码生成工具

针对CSDN等各大网站私自保存密码的问题, 用 Go 语言 写了个密码生成工具 pwdgen (支持生成KeePass格式).

下面是生成算法和实现的代码:

// base58(sha512(md5hex(encrypt_key+encrypt_salt)+site_id+site_salt)[0:16]
func pwdgen(site_id, site_salt, encrypt_key, encrypt_salt string) string {
	md5 := md5.New()
	md5.Write([]byte(encrypt_key + encrypt_salt))
	md5Hex := fmt.Sprintf("%x", md5.Sum(nil))

	sha := sha512.New()
	sha.Write([]byte(md5Hex + site_id + site_salt))
	shaSum := sha.Sum(nil)

	pwd := base58.EncodeBase58(shaSum)[0:16]
	return string(pwd)
}

完整的程序请访问: https://bitbucket.org/chai2010/pwdgen/wiki/Home

在线文档请访问:

转载于:https://my.oschina.net/chai2010/blog/118134

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值