请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于填充的反向操作,删除填充字符串

//填充的反向操作,删除填充字符串
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
}
}

这个函数里面的int(origData[length-1])怎么理解,我知道origData是已经填充完的byte,这个代码是如何获取到填充字符的长度的?????

正在回答

1回答

这个要联系 PKCS7Padding 来理解,在PKCS7Padding 里面有个补全操作。

0 回复 有任何疑惑可以回复我~
  • 提问者 Clown08 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-10-29 23:53:51
  • 提问者 Clown08 #2
    填充的数就是缺少的需要填充的字符个数,int(origData[length-1])可以从[]byte数组里取最后一位填充的byte字符,同时也是所填充的字符个数。老师您看这样理解对不对
    回复 有任何疑惑可以回复我~ 2019-10-29 23:58:01
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信