消息 6522,级别 16,状态 2,第 2 行 在执行用户定义例程或聚合“AESDecrypt”期间出现 .NET Framework 错误: System.FormatException: 输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符。 System.FormatException: 在 System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength) 在 System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength) 在 System.Convert.FromBase64String(String s) 在 AESdecryptDLL.AESdecrypt.AESDecrypt(String encryptStr) 。
这是一个C#写编译的dll,解密的程序,在Sqlserver中使用。昨天打包导数据发现要爆这个错,然后去找到根源,结果是那个字段没有加密,然后字符中含有汉字,导致无法解密。程序员又坑我。。。

本文介绍了一种在SQL Server中使用C#编译的DLL进行数据解密时遇到的问题及解决方案。具体问题为在执行AESDecrypt例程时触发了System.FormatException异常,原因是输入的字符串非有效Base-64编码且含有非Base-64字符,如汉字等。通过检查发现该字段未经过加密处理,最终通过修正字段内容解决了问题。
1570

被折叠的 条评论
为什么被折叠?



