PKCS7UnPadding 新增錯誤檢查
function PKCS7UnPadding 改為:
func PKCS7UnPadding(plainTextWithPadding []byte) (plainTextWithoutPadding []byte, err error) {
defer func() {
if err := recover(); err != nil {
plainTextWithoutPadding = nil
err = fmt.Errorf("%+v", err)
}
}()
length := len(plainTextWithPadding)
unpadding := int(plainTextWithPadding[length-1])
// Return plaintext without padding.
plainTextWithoutPadding = plainTextWithPadding[:(length - unpadding)]
return plainTextWithoutPadding, nil
}
function AesDecrypt 改為:
func AesDecrypt(cipherText, key []byte) ([]byte, error) {
// Hexadecimal to byte.
cipherText, err := hex.DecodeString(string(cipherText))
if err != nil {
return nil, err
}
block, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
blockSize := block.BlockSize()
blockMode := cipher.NewCBCDecrypter(block, key[:blockSize])
plainTextWithPadding := make([]byte, len(cipherText))
blockMode.CryptBlocks(plainTextWithPadding, cipherText)
plainText, err := PKCS7UnPadding(plainTextWithPadding)
return plainText, err
}
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information