将加密后的密码存入数据库,存密码的pwd字段是用char还是varchar

存储加密后的密码时,通常**建议使用 varchar** 类型而不是 char 类型。

varchar 类型是可变长度的字符串类型,可以存储不同长度的密码。而 char 类型是固定长度的字符串类型,如果密码长度不足指定长度,会用空格字符填充。

由于加密后的密码长度可能因加密算法和密码复杂度而异,因此使用 varchar 类型更灵活,可以适应不同长度的密码。

另外,为了安全考虑,还应该注意以下几点:

  1. 密码加密:在存储密码之前,应该使用适当的加密算法对密码进行加密。不建议明文存储密码。
  2. 加盐处理:为了增加密码安全性,应该使用随机生成的盐值对密码进行加盐处理,再进行加密。盐值是一个随机的字符串,与密码一起进行加密,可以增加密码的破解难度。
//使用md5加密,加盐处理的过程
func encryptV1(pwd string) string {
	newPwd := pwd + "hhhhhhhllllaaadd" //不能随便起,且不能暴露
	hash := md5.New()
	hash.Write([]byte(newPwd))
	hashBytes := hash.Sum(nil)
	hashString := hex.EncodeToString(hashBytes)
	fmt.Printf("加密后的密码:%s\n", hashString)

	return hashString
}
  1. 防止明文传输:在传输密码时,应该使用安全的加密通道,如 HTTPS,以防止密码被拦截和窃取。

总结起来,密码字段应该使用 varchar 类型,并且在存储之前进行适当的加密和加盐处理。同时,在传输密码时要确保使用安全的通道进行传输。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值