# String Decrypting

**URL:** <https://forum.inductiveautomation.com/t/string-decrypting/112534>\
**Category:** Ignition\
**Created:** [December 1, 2025, 5:50pm UTC](https://forum.inductiveautomation.com/t/string-decrypting/112534 "2025-12-01T17:50:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![wayne\_heath](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/wayne_heath/32/26459_2.png) [@wayne\_heath](https://forum.inductiveautomation.com/u/wayne_heath)\
**Post date:** [December 1, 2025, 5:50pm UTC](https://forum.inductiveautomation.com/t/string-decrypting/112534/1 "2025-12-01T17:50:51Z")

</div>

I am trying to figure out a way to decrypt a string, from a ContolLogix PLC. The string has been encrypted using XOR function in Logix5000 and I would like to decrypt the value in Ignition. Anyone have any idea on how I might do this?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 1, 2025, 5:54pm UTC](https://forum.inductiveautomation.com/t/string-decrypting/112534/2 "2025-12-01T17:54:02Z")

</div>

Presumably there is a multi-byte XOR value associated with this? Or is it based on a CRC or other polynomial?

Whatever it is, you will need to pull the bytes into a byte array, perhaps using a Java `ByteBuffer`, to apply the algorithm.

Please share the algorithm (and key/seed value) so we can help you.

---

<div class="post-metadata">

**Author:** ![wayne\_heath](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/wayne_heath/32/26459_2.png) [@wayne\_heath](https://forum.inductiveautomation.com/u/wayne_heath)\
**Post date:** [December 1, 2025, 9:28pm UTC](https://forum.inductiveautomation.com/t/string-decrypting/112534/3 "2025-12-01T21:28:14Z")

</div>

The XOR in the PLC is being performed using the structured text shown below.

`for INDEX:= 0 to LoginPassword.LEN do`  
`LoginPassword.DATA[INDEX]:= LoginPassword.DATA[INDEX] XOR PassPhrase.DATA[INDEX];`  
`end_for;`

The PassPhrase.Data is as shown below;

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/2/e28ecbd3e1e8248eda5a09a59b8843bb10919f0c.png)

Sorry I hope that is enough detail to get the idea.
