fix(verify): 增加 AES 解密函数的 panic 处理
- 在 aesCBCDecrypt 函数中添加 defer 机制以捕获并忽略 panic - 防止解密过程中因 panic 导致程序崩溃 - 删除 push_redeem.go 中获取订单账户失败时的多余日志打印,优化错误处理流程
This commit is contained in:
@@ -373,7 +373,6 @@ func (h *sAppleOrder) processOrderWithAccount(ctx context.Context, orderInfo *en
|
||||
})
|
||||
accountInfo, err := service.AppleAccount().GetAccordingAccount(ctx, decimal.NewFromFloat(orderInfo.Balance), keysStr)
|
||||
if err != nil || accountInfo == nil {
|
||||
glog.Error(ctx, "获取订单账户失败", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,12 @@ func AesCBCEncryptWithBase64(ciphertext string, key []byte, iv []byte) (string,
|
||||
|
||||
// aesCBCDecrypt AES/CBC/PKCS7Padding 解密
|
||||
func aesCBCDecrypt(ciphertext []byte, key []byte, iv []byte) ([]byte, error) {
|
||||
//吸收 panic
|
||||
defer func() {
|
||||
if err := recover(); err != nil {
|
||||
return
|
||||
}
|
||||
}()
|
||||
// AES
|
||||
block, err := aes.NewCipher(key)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user