解密过程涉及的PKCS7UnPadding是否有问题?

来源:10-6 登陆代码改造(4)

Nevssssss

2019-11-29

func PKCS7UnPadding(origData []byte) ([]byte, error) {
	length := len(origData)
	if length == 0 {
		return nil, errors.New("加密字符串错误")
	} else {
		unpadding := int(origData[length-1])
		return origData[:(length - unpadding)], nil
	}
}

这个代码中,如果加密的密码刚好不需要填充(能够取余为0),那么这个解密代码“unpadding := int(origData[length-1])”,获取的unpadding应该就是错误的了,老师看下我说的对么?

写回答

1回答

Cap

2019-12-03

有一个位置是保留要填充的数量的。

0
0

全流程开发 GO实战电商网站高并发秒杀系统

运用架构设计与系统化思维,从容应对不同流量等级的“秒杀”场景

1462 学习 · 443 问题

查看课程