質問: パディングは無効で、削除できません 例外: ソース:mscorlib メッセージ: パディングは無効であり、削除することはできません。 スタックトレース: ``` at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) at System.Security.Cryptography.CryptoStream.FlushFinalBlock() at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo) at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) ``` また、私たちのマシンキーはautoに設定されていません。だから誰か助けてください。ありがとう
回答: 暗号化されたメッセージのソースは何ですか?キーとIVが一致すると確信できる場合は、ブロック暗号モード(CBC、CTR、ECBなど)と埋め込みモードがプロセスの2つの端で一致するかどうかを調べる必要があります。これらすべてが足りれば、バイト配列を暗号化と復号化の間で切り捨てている可能性があります。おそらくoff-by-oneエラーが原因です。 コードの一部を投稿すると、診断に役立ちます。