3DES encryption details to decrypt text when using GlideEncrypter API Description<span id="__caret">_</span>�<span id="__caret">_</span>�<span id="__caret">_</span>�<span id="__caret">_</span>�<span id="__caret">_</span><!-- div.margin{ padding: 10px 40px 40px 30px; } table.tocTable{ border: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } table.noteTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:2; } table.internaltable { white-space:nowrap; text-align:left; border-width: 1px; border-collapse: collapse; font-size:14px; width: 85%; } table.internaltable th { border-width: 1px; padding: 5px; border-style: solid; border-color: rgb(245, 245, 245); background-color: rgb(245, 245, 245); } table.internaltable td { border-width: 1px; padding: 5px; border-style: solid; border-color: #E0E0E0; color: #000000; } .title { color: #D1232B; font-weight:normal; font-size:28px; } h1{ color: #D1232B; font-weight:normal; font-size:21px; margin-bottom:-5px } h2{ color: #646464; font-weight:bold; font-size:18px; } h3{ color: #000000; font-weight:BOLD; font-size:16px; text-decoration:underline; } h4{ color: #646464; font-weight:BOLD; font-size:15px; text-decoration:; } h5{ color: #000000; font-weight:BOLD; font-size:13px; text-decoration:; } h6{ color: #000000; font-weight:BOLD; font-size:14px; text-decoration:; } ul{ list-style: disc outside none; margin-left: 0; } li { padding-left: 1em; } --> Symptoms When using GlideEncrypter, you could encrypt one of the fields and send the encrypted text over a REST API message, which the 3rd party can decrypt at their end using the shared Keys and an agreed algorithm. The encryption algorithm to establish the communication with any third part tool uses 3DES encryption with following parameters: CipherMode = ECBPaddingMode = PKCS7Keylength of 24 chars. Without setting the algorithm, you will see a difference output for the encrypted value as compared to their output using above parameters. Release Madrid and later versions Cause Without the correct configuration, decryption could fail. There are several parameters needed for decrypted text coming from our GlideEncrypter methods correctly. Resolution We can decrypt text that comes from glideencrypter using java "DESede/ECB/PKCS5Padding" mode and DESede is TripleDes. GlideEncrypter return text encoded with Ciphertext in base64 format. KCS5Padding is padding methodDESede is cipher modeECB is block mode Please find bellow a 3rd party example of a program in Visual Basic: Dim MyTripleDESCryptoService As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider(); MyTripleDESCryptoService.Key = "MysecurityKeyArray"; MyTripleDESCryptoService.Mode = CipherMode.DESede; MyTripleDESCryptoService.Padding = PaddingMode.PKCS5Padding; Dim MyCrytpoTransform = MyTripleDESCryptoService.CreateEncryptor() Dim MyresultArray As Byte() = MyCrytpoTransform.TransformFinalBlock("cEncrypt_TokenKey", 0, cEncrypt_TokenKey.Length) MyTripleDESCryptoService.Clear() For more information, please refer to the official documentation of GlideEncrypter API. Note: As any third-party development, Servicenow does not support custom code