{"id":22342878,"url":"https://github.com/pelock/stringencrypt-webapi","last_synced_at":"2025-07-30T01:32:51.293Z","repository":{"id":36611264,"uuid":"40917444","full_name":"PELock/StringEncrypt-WebAPI","owner":"PELock","description":"String Encryption and File Encryption for C/C++, C#, Visual Basic .NET, Delphi/Pascal/Object Pascal, Java, JavaScript, Python, Ruby, AutoIt, PowerShell, Haskell, MASM, FASM programming languages.","archived":false,"fork":false,"pushed_at":"2019-02-20T22:59:49.000Z","size":22,"stargazers_count":25,"open_issues_count":0,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T23:41:10.735Z","etag":null,"topics":["autoit","cpp","csharp","delphi","encrypted-strings","encryption","fasm","file-encryption","haskell","java","javascript","js","masm","object-pascal","pascal","powershell","python","ruby","string-encryption","visual-basic-net"],"latest_commit_sha":null,"homepage":"https://www.stringencrypt.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PELock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-17T18:13:59.000Z","updated_at":"2025-02-02T12:49:37.000Z","dependencies_parsed_at":"2022-08-03T08:45:11.833Z","dependency_job_id":null,"html_url":"https://github.com/PELock/StringEncrypt-WebAPI","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PELock/StringEncrypt-WebAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PELock%2FStringEncrypt-WebAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PELock%2FStringEncrypt-WebAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PELock%2FStringEncrypt-WebAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PELock%2FStringEncrypt-WebAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PELock","download_url":"https://codeload.github.com/PELock/StringEncrypt-WebAPI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PELock%2FStringEncrypt-WebAPI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267792738,"owners_count":24144931,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autoit","cpp","csharp","delphi","encrypted-strings","encryption","fasm","file-encryption","haskell","java","javascript","js","masm","object-pascal","pascal","powershell","python","ruby","string-encryption","visual-basic-net"],"created_at":"2024-12-04T08:14:00.249Z","updated_at":"2025-07-30T01:32:46.274Z","avatar_url":"https://github.com/PELock.png","language":"PHP","readme":"# StringEncrypt — String \u0026 File Encryption for Developers\n\nStringEncrypt page allows you to **encrypt strings and files** using\nrandomly generated algorithm, generating a unique decryption code\n(so called *polymorphic code*) each time in the selected programming\nlanguage.\n\nhttps://www.stringencrypt.com\n\n# The problem\n\nI'm a developer, I love programming. I'm also an avid [reverse engineer](https://www.pelock.com/services).\nI perform a wide array of software analysis in my daily work and sometimes\nI find things in compiled applications that **shouldn't be exposed** to the\nfirst person with a simple hex-editor in hand.\n\n## What can be found in application binaries?\n\nEverything! I've listed a few examples of the things I found below.\nSometimes these things shouldn't even be included in applications\nat all (they are there due to poor design choices or rushed work),\nbut some are just cannot be avoided.\n\n* Database passwords\n* FTP passwords\n* Login credentials\n* Encryption \u0026 decryption keys\n* Custom code scripts in readable text\n* Complex SQL queries in plain text\n* Hidden website endpoints\n* BitCoin wallets locations\n* ...and many more\n\nAsk yourself, did you ever put some sensitive content in your software that\nyou later regret?\n\n## Why should I care?\n\nIf any of these things were to fall into the **wrong hands**, they could be\nused to compromise your software or your infrastructure.\n\n![You don't want this to happen to your software.](https://www.pelock.com/img/en/products/string-encrypt/database-password-plain-text.png)\n\nTake for example database passwords. They could be used by a competitor\nto view your database structure or dump all of its contents. You don't want\nto lose all your hard work just because someone with a simple hex-editor can\ndiscover your password in plain text.\n\n# The solution — String Encrypt\n\nI've decided to create a simple service called String Encrypt for developers,\noffering fast string \u0026 file encryption without the need to write custom\nencryption tools over and over again, because I did that many times.\n\nString Encrypt can help you hide the things that shouldn't be visible at first\nglance to anyone with a hex-editor.\n\n![StringEncrypt main window](https://www.stringencrypt.com/images/stringencrypt.png)\n\n## String Encrypt comes with:\n\n* Online interface at https://www.stringencrypt.com\n* Windows based GUI application available to download at https://www.stringencrypt.com/download/\n* And WebApi interface (automation) https://www.stringencrypt.com/api/\n\n## WebApi usage\n\nYou can use all of the features of StringEncrypt via our Web API interface.\n\nOur API is based on POST requests and JSON encoded response.\n\nIn our PHP example, first you have to setup configuration array $options = array();, specify API\ncommand to execute and call stringencrypt() function that will return $result array.\n\nCurrently we support only 2 commands:\n\n* **encrypt** - encrypt a string or file (raw bytes)\n* **is_demo** - returns information about current activation code status\n\n### \"encrypt\" command usage example\n\n```php\n\u003c?php\n\n////////////////////////////////////////////////////////////////////////////////\n//\n// StringEncrypt.com Web API usage example\n//\n// Version        : v1.3\n// Language       : PHP\n// Author         : Bartosz Wójcik\n// Web page       : https://www.stringencrypt.com\n//\n////////////////////////////////////////////////////////////////////////////////\n\n// include main library\ninclude (\"stringencrypt.php\");\n\n//\n// setup options\n//\n$options = array();\n\n//\n// activation code, you can leave it empty for demo version, but keep in\n// mind that there are many limitations in demo version)\n//\n$options[\"code\"] = \"\";\n\n//\n// API command to execute\n//\n// \"encrypt\" - encrypt input string or file bytes, returns array of:\n//\n// $result[\"error\"] - error code\n// $result[\"source\"] - decryptor source code\n// $result[\"expired\"] - activation code expiration flag (bool)\n// $result[\"credits_left\"] - number of credits left\n//\n// \"is_demo\" - checks current activation code and returns array of:\n//\n// $result[\"demo\"] - demo mode flag (bool)\n// $result[\"label_limit\"] - label limit length\n// $result[\"string_limit\"] - string/file limit lenght\n// $result[\"credits_left\"] - number of credits left\n// $result[\"cmd_min\"] - minimum number of encryption commands\n// $result[\"cmd_max\"] - maximum number of encryption commands\n$options[\"command\"] = \"encrypt\";\n//$options[\"command\"] = \"is_demo\";\n\n//\n// label name\n//\n// demo mode supports up to 6 chars only (64 in full version),\n// if you pass more than this number, service will return\n// ERROR_LENGTH_LABEL\n//\n$options[\"label\"] = \"Label\";\n\n//\n// input string / raw bytes compression enabled, if you set it to\n// true, you need to compress input string / raw bytes eg.\n//\n// $compressed = @base64_encode(@gzcompress($string, 9)\n//\n// and after encryption you need to decompress encrypted data\n//\n// $decompressed = @gzuncompress(@base64_decode($source));\n//\n$options[\"compression\"] = false;\n//$options[\"compression\"] = true;\n\n//\n// input string in UTF-8 format\n//\n// demo mode supports up to 6 chars only, if you pass more\n// than that, service will return ERROR_LENGTH_STRING\n//\n$options[\"string\"] = \"Hello!\";\n//$options[\"string\"] = @base64_encode(@gzcompress(\"Hello!\", 9));\n\n//\n// raw data bytes to encrypt (you need to specify either\n// $options[\"string\"] or this value\n//\n// demo mode doesn't support this parameter and the service\n// will return ERROR_DEMO\n//\n//$options[\"bytes\"] = file_get_contents(\"my_file.txt\");\n//$options[\"bytes\"] = file_get_contents(\"http://www.example.com/my_file.txt\");\n//$options[\"bytes\"] = @base64_encode(@gzcompress(file_get_contents(\"my_file.txt\"), 9));\n\n//\n// treat input string as a UNICODE string (ANSI otherwise)\n//\n$options[\"unicode\"] = true;\n\n//\n// input string default locale (only those listed below\n// are supported currently)\n//\n$options[\"lang_locale\"] = \"en_US.utf8\";\n//$options[\"lang_locale\"] = \"en_GB.utf8\";\n//$options[\"lang_locale\"] = \"de_DE.utf8\";\n//$options[\"lang_locale\"] = \"es_ES.utf8\";\n//$options[\"lang_locale\"] = \"fr_BE.utf8\";\n//$options[\"lang_locale\"] = \"fr_FR.utf8\";\n//$options[\"lang_locale\"] = \"pl_PL.utf8\";\n\n//\n// how to encode new lines, available values:\n//\n// \"lf\" - Unix style\n// \"crlf\" - Windows style\n// \"cr\" - Mac style\n//\n$options[\"new_lines\"] = \"lf\";\n//$options[\"new_lines\"] = \"crlf\";\n//$options[\"new_lines\"] = \"cr\";\n\n//\n// destination ANSI string encoding (if unicode = false)\n//\n// only those listed below are supported\n//\n$options[\"ansi_encoding\"] = \"WINDOWS-1250\";\n//$options[\"ansi_encoding\"] = \"WINDOWS-1251\";\n//$options[\"ansi_encoding\"] = \"WINDOWS-1252\";\n//$options[\"ansi_encoding\"] = \"WINDOWS-1253\";\n//$options[\"ansi_encoding\"] = \"WINDOWS-1254\";\n//$options[\"ansi_encoding\"] = \"WINDOWS-1255\";\n//$options[\"ansi_encoding\"] = \"WINDOWS-1256\";\n//$options[\"ansi_encoding\"] = \"WINDOWS-1257\";\n//$options[\"ansi_encoding\"] = \"WINDOWS-1258\";\n//$options[\"ansi_encoding\"] = \"ISO-8859-1\";\n//$options[\"ansi_encoding\"] = \"ISO-8859-2\";\n//$options[\"ansi_encoding\"] = \"ISO-8859-3\";\n//$options[\"ansi_encoding\"] = \"ISO-8859-9\";\n//$options[\"ansi_encoding\"] = \"ISO-8859-10\";\n//$options[\"ansi_encoding\"] = \"ISO-8859-14\";\n//$options[\"ansi_encoding\"] = \"ISO-8859-15\";\n//$options[\"ansi_encoding\"] = \"ISO-8859-16\";\n\n//\n// output programming language\n//\n// only those listed below are supported, if you pass\n// other name, service will return ERROR_INVALID_LANG\n//\n$options[\"lang\"] = \"cpp\";\n//$options[\"lang\"] = \"csharp\";\n//$options[\"lang\"] = \"vbnet\";\n//$options[\"lang\"] = \"delphi\";\n//$options[\"lang\"] = \"java\";\n//$options[\"lang\"] = \"js\";\n//$options[\"lang\"] = \"python\";\n//$options[\"lang\"] = \"ruby\";\n//$options[\"lang\"] = \"autoit\";\n//$options[\"lang\"] = \"powershell\";\n//$options[\"lang\"] = \"haskell\";\n//$options[\"lang\"] = \"masm\";\n//$options[\"lang\"] = \"fasm\";\n\n//\n// minimum number of encryption commands\n//\n// demo mode supports only up to 3 commands (50 in full version),\n// if you pass more than this number, service will return\n// ERROR_CMD_MIN\n//\n$options[\"cmd_min\"] = 1;\n//$options[\"cmd_min\"] = 1;\n\n//\n// maximum number of encryption commands\n//\n// demo mode supports only up to 3 commands (50 in full version),\n// if you pass more than this number, service will return\n// ERROR_CMD_MAX\n//\n$options[\"cmd_max\"] = 3;\n//$options[\"cmd_max\"] = 50;\n\n//\n// store encrypted string as a local variable (if supported\n// by the programming language), otherwise it's stored as\n// a global variable\n//\n$options[\"local\"] = false;\n//$options[\"local\"] = true;\n\n//\n// encrypt string or file contents\n//\n$result = stringencrypt($options);\n\nif ($result != false)\n{\n\tif ($result[\"error\"] == ERROR_SUCCESS)\n\t{\n\t\t// if compression was enabled, we need to\n\t\t// decompress the output source code\n\t\tif ($options[\"compression\"] == true)\n\t\t{\n\t\t\t$source = @gzuncompress(@base64_decode($source));\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$source = $result[\"source\"];\n\t\t}\n\n\t\t// display decryptor body\n\t\techo \"\u003cpre\u003e\".$source.\"\u003c/pre\u003e\";\n\n\t\t// display number of credits left\n\t\techo \"\u003cp\u003eYou have {$result['credits_left']} credits left.\u003c/p\u003e\";\n\n\t\t// display initial number of credits\n\t\techo \"\u003cp\u003eInitial number of credits {$result['credits_total']}.\u003c/p\u003e\";\n\n\t\t// activation code has expired, notify user\n\t\tif ($result[\"expired\"] == true)\n\t\t{\n\t\t\techo \"\u003cp\u003eYour activation code has expired!\u003c/p\u003e\";\n\t\t}\n\t}\n\telse\n\t{\n\t\techo \"An error occured (code \".$result[\"error\"].\")\";\n\t}\n}\nelse\n{\n\techo \"Cannot connect to the API interface!\";\n}\n\n?\u003e\n```\n\n#### Return values:\n\n* $result[\"error\"] (int) - error code\n* $result[\"source\"] (string) - decryptor source code\n* $result[\"expired\"] (boolean) - expiration flag\n* $result[\"credits_left\"] (int) - number of credits left\n* $result[\"credits_total\"] (int) - initial number of credits\n\n#### Error codes:\n\n* ERROR_SUCCESS (0) - everything went fine\n* ERROR_EMPTY_LABEL (1) - label parameter is empty\n* ERROR_LENGTH_LABEL (2) - label length is too long\n* ERROR_EMPTY_STRING (3) - input string is empty\n* ERROR_EMPTY_BYTES (4) - input file bytes array is empty\n* ERROR_EMPTY_INPUT (5) - input source (either string or file) is missing\n* ERROR_LENGTH_STRING (6) - string or bytes length is too long\n* ERROR_INVALID_LANG (7) - programming language not supported\n* ERROR_INVALID_LOCALE (8) - language locale is not supported\n* ERROR_CMD_MIN (9) - invalid number of minimum encryption commands\n* ERROR_CMD_MAX (10) - invalid number of maximum encryption commands\n* ERROR_DEMO (100) - you need a valid code to use full version features\n\n### \"is_demo\" command usage example\n\nThis example shows how to get information about current activation code and its features.\n\n```php\n\u003c?php\n \n////////////////////////////////////////////////////////////////////////////////\n//\n// StringEncrypt.com Web API usage example\n//\n// Version        : v1.2\n// Language       : PHP\n// Author         : Bartosz Wójcik\n// Web page       : https://www.stringencrypt.com\n//\n////////////////////////////////////////////////////////////////////////////////\n \n// include main library\ninclude (\"stringencrypt.php\");\n \n//\n// setup options\n//\n$options = array();\n \n//\n// activation code, you can leave it empty for demo version, but keep in\n// mind that in demo versions there are many limitations)\n//\n$options[\"code\"] = \"\";\n \n//\n// API command to execute\n//\n// \"encrypt\" - encrypt input string or file bytes, returns array of:\n//\n// $result[\"error\"] - error code\n// $result[\"source\"] - decryptor source code\n// $result[\"expired\"] - activation code expiration flag (bool)\n// $result[\"credits_left\"] - number of credits left\n//\n// \"is_demo\" - checks current activation code and returns array of:\n//\n// $result[\"demo\"] - demo mode flag (bool)\n// $result[\"label_limit\"] - label limit length\n// $result[\"string_limit\"] - string/file limit lenght\n// $result[\"credits_left\"] - number of credits left\n// $result[\"cmd_min\"] - minimum number of encryption commands\n// $result[\"cmd_max\"] - maximum number of encryption commands\n//$options[\"command\"] = \"encrypt\";\n$options[\"command\"] = \"is_demo\";\n \n//\n// execute API command\n//\n$result = stringencrypt($options);\n \nif ($result != false)\n{\n\tif ($result[\"demo\"] == true)\n\t{\n\t\techo \"\u003cp\u003eYou are running in DEMO mode\u003c/p\u003e\";\n\t}\n\telse\n\t{\n\t\techo \"\u003cp\u003eYou are running in FULL mode\u003c/p\u003e\";\n \n\t\t// display number of credits left\n\t\techo \"\u003cp\u003eYou have {$result['credits_left']} credits left.\u003c/p\u003e\";\n \n\t\t// display initial number of credits\n\t\techo \"\u003cp\u003eInitial number of credits {$result['credits_total']}.\u003c/p\u003e\";\n\t}\n \n\techo \"\u003cp\u003eLabel max. length {$result['label_limit']} characters\u003c/p\u003e\";\n \n\techo \"\u003cp\u003eString/file max. length {$result['string_limit']} characters\u003c/p\u003e\";\n \n\techo \"\u003cp\u003eMinimum number of encryption commands {$result['cmd_min']}\u003c/p\u003e\";\n\techo \"\u003cp\u003eMaximum number of encryption commands {$result['cmd_max']}\u003c/p\u003e\";\n}\nelse\n{\n\techo \"Cannot connect to the API interface!\";\n}\n?\u003e\n```\n\n#### Return values:\n\n* $result[\"demo\"] (boolean) - demo mode flag\n* $result[\"label_limit\"] (int) - label limit length\n* $result[\"string_limit\"] (int) - string/file limit lenght\n* $result[\"credits_left\"] (int) - number of credits left\n* $result[\"credits_total\"] (int) - initial number of credits\n* $result[\"cmd_min\"] (int) - minimum number of encryption commands\n* $result[\"cmd_max\"] (int) - maximum number of encryption commands\n\n#### Error codes\n* none\n\n## Features\n\nString Encrypt is pretty simple, but it has a few things you might be interested to use.\n\n* String or file encryption (**yes** you can encrypt file contents)\n* UNICODE and ANSI strings supported\n* Selectable Windows (\\r\\n), Mac (\\r) or Linux (\\n) new lines output encoding\n* You can generate a code with global or local declared strings (like in a function)\n* Adjustable number of encryption commands (you can create really huge decryptors if you want)\n\n# How does it work?\n\nI like simplicity and String Encrypt is very simple to use. All you\nneed to do is:\n\n1. Enter the label of your string, say \"szSecret\"\n2. Enter the string content, for example \"Hello\"\n3. Select the output programming language for the decryption code\n4. Hit the Encrypt and Generate Decryptor button\n\n\n## The result\nString Encrypt uses random encryption code for each string and the sample result\nmight look like this for the following supported set of programming languages.\n\n![Output code](https://www.stringencrypt.com/images/stringencrypt_code.png)\n\n## Supported programming languages\n\nI have tried to cover most of the popular programming languages and a few favourite\nof mine (like MASM). If you need something else - [contact with me](https://www.pelock.com/contact).\n\n\n### C/C++ encryption (UNICODE example)\n```cpp\n// encrypted with https://www.stringencrypt.com (v1.3.0) [C/C++]\n// wszLabel = \"C/C++ String Encryption\"\nwchar_t wszLabel[24] = { 0x5ADA, 0x6C21, 0x5A24, 0x6DEF, 0x6DFE, 0x74C5, 0x5240, 0x428B,\n                         0x4382, 0x4F69, 0x4CDC, 0x4827, 0x73A6, 0x598D, 0x4CF8, 0x4A43,\n                         0x40AA, 0x3FB1, 0x4D34, 0x42DF, 0x474E, 0x42D5, 0x4C50, 0x8514 };\n \nfor (unsigned int JTIif = 0, ktTcs = 0; JTIif \u003c 24; JTIif++)\n{\n        ktTcs = wszLabel[JTIif];\n        ktTcs ^= JTIif;\n        ktTcs ++;\n        ktTcs += JTIif;\n        ktTcs ^= JTIif;\n        ktTcs = (((ktTcs \u0026 0xFFFF) \u003e\u003e 3) | (ktTcs \u003c\u003c 13)) \u0026 0xFFFF;\n        ktTcs = ~ktTcs;\n        ktTcs += JTIif;\n        ktTcs = (((ktTcs \u0026 0xFFFF) \u003e\u003e 1) | (ktTcs \u003c\u003c 15)) \u0026 0xFFFF;\n        ktTcs = ~ktTcs;\n        ktTcs += JTIif;\n        ktTcs ^= 0xB7B5;\n        ktTcs += JTIif;\n        ktTcs ^= JTIif;\n        ktTcs -= JTIif;\n        ktTcs = ((ktTcs \u003c\u003c 13) | ( (ktTcs \u0026 0xFFFF) \u003e\u003e 3)) \u0026 0xFFFF;\n        wszLabel[JTIif] = ktTcs;\n}\n\nwprintf(wszLabel);\n```\n\n### C# Sharp encryption (UNICODE example)\n\n```csharp\n// encrypted with https://www.stringencrypt.com (v1.3.0) [C#]\n// superSecretString = \"Easy encryption in C#\"\nString superSecretString = \"\\u6B56\\uA14A\\u834B\\u954C\\uD95A\\uB14E\\u814F\\u595D\" +\n                           \"\\u9551\\u8152\\u9553\\uBF54\\u5B62\\u9556\\u9157\\u2F65\" +\n                           \"\\u5366\\u9F5A\\uC568\\u0169\\uFF6A\";\n \nfor (int XBasD = 0, Dbzej = 0; XBasD \u003c 21; XBasD++)\n{\n        Dbzej = superSecretString[XBasD];\n        Dbzej -= XBasD;\n        Dbzej = ((Dbzej \u003c\u003c 8) | ( (Dbzej \u0026 0xFFFF) \u003e\u003e 8)) \u0026 0xFFFF;\n        Dbzej ^= 0xF9A1;\n        Dbzej = (((Dbzej \u0026 0xFFFF) \u003e\u003e 1) | (Dbzej \u003c\u003c 15)) \u0026 0xFFFF;\n        Dbzej -= 0xA3CC;\n        Dbzej ^= XBasD;\n        Dbzej += 0x4C2C;\n        superSecretString = superSecretString.Substring(0, XBasD) + (char)(Dbzej \u0026 0xFFFF) + superSecretString.Substring(XBasD + 1);\n}\n \nMessageBox.Show(superSecretString);\n```\n\n## Visual Basic .NET aka VB.NET encryption (UNICODE EXAMPLE)\n\n```vbnet\n' encrypted with https://www.stringencrypt.com (v1.3.0) [Visual Basic .NET]\n' EncryptedString = \"Visual Basic .NET string encryption\"\nDim epTlz() As Integer = { \u0026H8ED9, \u0026H3BD9, \u0026HF1D8, \u0026HAFD8, \u0026H63D8, \u0026H38D8, \u0026H44D8, \u0026HC2D7,\n                           \u0026H85D7, \u0026H33D7, \u0026HFDD6, \u0026HA3D6, \u0026HC4D6, \u0026H76D6, \u0026H16D6, \u0026HC1D5,\n                           \u0026H90D5, \u0026H84D5, \u0026HF1D4, \u0026HB0D4, \u0026H76D4, \u0026H3FD4, \u0026HFAD3, \u0026HBDD3,\n                           \u0026HC4D3, \u0026H21D3, \u0026HFAD2, \u0026HC7D2, \u0026H76D2, \u0026H2DD2, \u0026HF4D1, \u0026HB0D1,\n                           \u0026H63D1, \u0026H35D1, \u0026HF6D0 }\nDim EncryptedString As String\nDim BePuQ As Integer\n \nDim blvjn As Integer\nFor blvjn = 0 To 34\n  BePuQ = epTlz(blvjn)\n  BePuQ -= 1\n  BePuQ = (((BePuQ And \u0026HFFFF) \u003e\u003e 13) Or (BePuQ \u003c\u003c 3)) And \u0026HFFFF\n  BePuQ += blvjn\n  BePuQ -= \u0026HF74C\n  BePuQ += blvjn\n  BePuQ -= \u0026H2E7B\n  BePuQ = (((BePuQ And \u0026HFFFF) \u003e\u003e 8) Or (BePuQ \u003c\u003c 8)) And \u0026HFFFF\n  BePuQ = Not BePuQ\n  BePuQ = BePuQ Xor blvjn\n  BePuQ += 1\n  BePuQ += blvjn\n  BePuQ = ((BePuQ \u003c\u003c 13) Or ( (BePuQ And \u0026HFFFF) \u003e\u003e 3)) And \u0026HFFFF\n  EncryptedString = EncryptedString + ChrW(BePuQ And \u0026HFFFF)\nNext blvjn\n\nMessageBox.Show(EncryptedString)\n```\n\n## Delphi \u0026 Pascal encryption (UNICODE example)\n\n```delphi\n// encrypted with https://www.stringencrypt.com (v1.3.0) [Delphi / Pascal]\nvar\n  // mySecret = \"Delphi is awesome!\"\n  mySecret: array[0..19] of WideChar;\n  EPmwd: Integer;\n  ZHnps: Integer;\n \nbegin\n \n  mySecret[16] := WideChar($C22E); mySecret[5] := WideChar($C1FA);\n  mySecret[7] := WideChar($C206); mySecret[8] := WideChar($C208);\n  mySecret[10] := WideChar($C1FA); mySecret[4] := WideChar($C1FB);\n  mySecret[9] := WideChar($C1AD); mySecret[17] := WideChar($C1EA);\n  mySecret[2] := WideChar($C1FB); mySecret[11] := WideChar($C1BC);\n  mySecret[3] := WideChar($C1FD); mySecret[6] := WideChar($C1BF);\n  mySecret[15] := WideChar($C202); mySecret[0] := WideChar($C18F);\n  mySecret[1] := WideChar($C1EE); mySecret[12] := WideChar($C206);\n  mySecret[18] := WideChar($C28F); mySecret[14] := WideChar($C200);\n  mySecret[13] := WideChar($C1B8);\n \n  for ZHnps := 0 to 19 do\n  begin\n    EPmwd := Ord(mySecret[ZHnps]);\n    EPmwd := EPmwd - ZHnps;\n    EPmwd := EPmwd - $01BE;\n    EPmwd := not EPmwd;\n    EPmwd := EPmwd + $2D7A;\n    EPmwd := EPmwd - ZHnps;\n    EPmwd := EPmwd xor ZHnps;\n    EPmwd := EPmwd + $004B;\n    EPmwd := EPmwd xor ZHnps;\n    EPmwd := EPmwd + ZHnps;\n    Inc(EPmwd);\n    EPmwd := EPmwd xor $EB5C;\n    EPmwd := EPmwd + $799C;\n    EPmwd := EPmwd xor ZHnps;\n    mySecret[ZHnps] := WideChar(EPmwd);\n  end;\n \n  ShowMessage(mySecret);\n```\n\n## Java encryption (UNICODE example)\n\n```java\n// encrypted with https://www.stringencrypt.com (v1.3.0) [Java]\n// myJavaPassword = \"Very secret password! QWERTY\"\nString myJavaPassword = \"\";\n \nint JbeMY[] = { 0x0434, 0x842C, 0x0426, 0x8422, 0x03CD, 0x8423, 0x842C, 0x842B,\n                0x0416, 0x843C, 0x0413, 0x03DD, 0x0415, 0x843E, 0x8413, 0x8413,\n                0x8421, 0x8425, 0x0426, 0x040B, 0x83AE, 0x03AD, 0x8436, 0x8431,\n                0x83CC, 0x0406, 0x0403, 0x8402 };\n \nfor (int zuLRG = 0, tnYzy = 0; zuLRG \u003c 28; zuLRG++)\n{\n        tnYzy = JbeMY[zuLRG];\n        tnYzy --;\n        tnYzy ^= zuLRG;\n        tnYzy += 0x99C8;\n        tnYzy ^= zuLRG;\n        tnYzy ^= 0x95C1;\n        tnYzy = (((tnYzy \u0026 0xFFFF) \u003e\u003e 15) | (tnYzy \u003c\u003c 1)) \u0026 0xFFFF;\n        tnYzy --;\n        tnYzy ^= 0xFFFF;\n        tnYzy += 0x10CA;\n        myJavaPassword = myJavaPassword + (char)(tnYzy \u0026 0xFFFF);\n}\n \nSystem.out.println(myJavaPassword);\n```\n\n### JavaScript encryption (ANSI)\n\n```js\n\u003cscript type=\"text/javascript\"\u003e\n// encrypted with https://www.stringencrypt.com (v1.3.0) [JavaScript]\n// hiddenJavaScriptString = \"How to encrypt string in JavaScript? That\\'s how!\"\nvar hiddenJavaScriptString = \"\\x8C\\xB4\\x4E\\x5B\\x4A\\xD4\\x07\\xBC\\xB4\\xC4\\x52\\x7E\\x1A\\x72\\xE7\\xB6\" +\n                             \"\\xDA\\xDA\\x88\\x67\\xF8\\x5C\\x67\\x49\\x50\\xB9\\x47\\xFA\\x1D\\xED\\x2D\\x39\" +\n                             \"\\x8D\\x21\\x57\\x66\\xA0\\xB1\\xA9\\x8D\\x5F\\xF0\\x53\\x9C\\x7A\\x1E\\xC3\\xF0\";\n \nfor (var oBFEi = 0, hFSrA = 0; oBFEi \u003c 48; oBFEi++)\n{\n        hFSrA = hiddenJavaScriptString.charCodeAt(oBFEi);\n        hFSrA = ((hFSrA \u003c\u003c 1) | ( (hFSrA \u0026 0xFF) \u003e\u003e 7)) \u0026 0xFF;\n        hFSrA += 0x9E;\n        hFSrA = ((hFSrA \u003c\u003c 6) | ( (hFSrA \u0026 0xFF) \u003e\u003e 2)) \u0026 0xFF;\n        hFSrA ^= oBFEi;\n        hFSrA -= oBFEi;\n        hFSrA ^= 0xFF;\n        hFSrA = (((hFSrA \u0026 0xFF) \u003e\u003e 6) | (hFSrA \u003c\u003c 2)) \u0026 0xFF;\n        hFSrA ^= 0xC3;\n        hFSrA = ((hFSrA \u003c\u003c 4) | ( (hFSrA \u0026 0xFF) \u003e\u003e 4)) \u0026 0xFF;\n        hFSrA += 0xD1;\n        hFSrA -= oBFEi;\n        hFSrA += 0x0B;\n        hFSrA ^= 0xD8;\n        hFSrA = (((hFSrA \u0026 0xFF) \u003e\u003e 7) | (hFSrA \u003c\u003c 1)) \u0026 0xFF;\n        hFSrA += 0xB0;\n        hiddenJavaScriptString = hiddenJavaScriptString.substr(0, oBFEi) + String.fromCharCode(hFSrA \u0026 0xFF) + hiddenJavaScriptString.substr(oBFEi + 1);\n}\n \nalert(hiddenJavaScriptString);\n\u003c/script\u003e\n```\n\n### Python encryption (UNICODE example)\n\n```python\n# encrypted with https://www.stringencrypt.com (v1.3.0) [Python]\n# cute_wabbit = \"A little girl goes into a pet show and asks for a wabbit... http...\"\ncute_wabbit = [ 0x1005, 0x4004, 0x4005, 0x5006, 0x4003, 0x0004, 0x4002, 0x9001,\n                0x0009, 0x300E, 0x100F, 0xE00F, 0xC00A, 0x400D, 0xF00C, 0x300B,\n                0x5013, 0x7013, 0x8015, 0x5012, 0xE018, 0x0018, 0x7016, 0xC011,\n                0x1019, 0x401E, 0x801C, 0x901C, 0x401D, 0x4019, 0xB01F, 0x401F,\n                0xF02F, 0x302F, 0x8029, 0xD02E, 0xE02C, 0x002B, 0x802E, 0xD029,\n                0x3026, 0xF026, 0xB028, 0xC024, 0x6022, 0xB021, 0xA023, 0xC027,\n                0x103B, 0x4040, 0xF03A, 0xD03A, 0x2040, 0x603F, 0x103E, 0x803E,\n                0xE035, 0xA036, 0x6037, 0xC038, 0x8036, 0x0036, 0xC037, 0xC038,\n                0x3058, 0xE053, 0x7051, 0x3052, 0x7053, 0x3054, 0xF051, 0x2055,\n                0x005E, 0xD05D, 0xC060, 0x4060, 0xF05A, 0xA059, 0x6060, 0x305B,\n                0x2044, 0x3044, 0x7045, 0x8042, 0xF048, 0x7047, 0x7042, 0x4045,\n                0x504A, 0x904A, 0x704B, 0xE04B, 0xF04A, 0x7049, 0xB050, 0x9050,\n                0x4080, 0x1080, 0x5079, 0xB07D, 0x107C, 0x607B, 0xA07A, 0x5079,\n                0x4076 ]\n \nfor wEzdt in range(105):\n  zWqET = cute_wabbit[wEzdt]\n  zWqET -= 1\n  zWqET ^= wEzdt\n  zWqET = (((zWqET \u0026 0xFFFF) \u003e\u003e 14) | (zWqET \u003c\u003c 2)) \u0026 0xFFFF\n  zWqET ^= wEzdt\n  zWqET = (((zWqET \u0026 0xFFFF) \u003e\u003e 14) | (zWqET \u003c\u003c 2)) \u0026 0xFFFF\n  cute_wabbit[wEzdt] = zWqET\n \ncute_wabbit = ''.join(chr(zWqET \u0026 0xFFFF) for zWqET in cute_wabbit)\n \ndel wEzdt, zWqET\n \nprint(cute_wabbit)\n```\n\n### Ruby encryption (UNICODE example)\n\n```ruby\n\n# encrypted with https://www.stringencrypt.com (v1.3.0) [Ruby]\n# ruby = \"Ruby on rails\"\nruby = \"\\u68EA\\u60A2\\u78C6\\u7096\\u4946\\u40A6\\u58A6\\u5140\\u287A\\u209A\\u38C8\\u30C0\\u0870\"\n \nruby.codepoints.each_with_index do |komgu, rydut|\n  komgu = ((komgu \u003c\u003c 5) | ( (komgu \u0026 0xFFFF) \u003e\u003e 11)) \u0026 0xFFFF\n  komgu ^= rydut\n  komgu = (((komgu \u0026 0xFFFF) \u003e\u003e 6) | (komgu \u003c\u003c 10)) \u0026 0xFFFF\n  komgu += rydut\n  komgu -= 0x34D0\n  komgu ^= rydut\n  komgu = ((komgu \u003c\u003c 13) | ( (komgu \u0026 0xFFFF) \u003e\u003e 3)) \u0026 0xFFFF\n  komgu = ~komgu\n  komgu -= 1\n  komgu = ((komgu \u003c\u003c 3) | ( (komgu \u0026 0xFFFF) \u003e\u003e 13)) \u0026 0xFFFF\n  komgu ^= rydut\n  ruby[rydut] = [komgu \u0026 0xFFFF].pack('U').force_encoding('UTF-8')\nend\n \nputs ruby\n```\n\n```AutoIt encryption (UNICODE example)\n\n```autoit\n; encrypted with https://www.stringencrypt.com (v1.3.0) [AutoIt]\n#include \u003cArray.au3\u003e\n \n; $autoit_obfuscator = \"We got it too https://www.pelock.com/products/autoit-obfuscator\"\nGlobal $autoit_obfuscator[64] = [ 0xD440, 0xCD01, 0xEF42, 0xCC83, 0xC944, 0xC485, 0xEE46, 0xCA87, _\n                                  0xC7C8, 0xED89, 0xC74A, 0xCA8B, 0xCB4C, 0xEC8D, 0xC84E, 0xC60F, _\n                                  0xC1D0, 0xC391, 0xC2D2, 0xE613, 0xED54, 0xED15, 0xC1D6, 0xC197, _\n                                  0xC258, 0xEE99, 0xC15A, 0xCB9B, 0xCEDC, 0xCF1D, 0xC9DE, 0xCD9F, _\n                                  0xE0E0, 0xC621, 0xC0E2, 0xC1A3, 0xE164, 0xCEA5, 0xCF66, 0xC1A7, _\n                                  0xC7E8, 0xCF29, 0xC4EA, 0xCF2B, 0xCD6C, 0xE32D, 0xC4EE, 0xCEAF, _\n                                  0xC9F0, 0xC431, 0xC7F2, 0xC933, 0xE474, 0xC535, 0xC376, 0xC137, _\n                                  0xCB78, 0xC839, 0xC0FA, 0xC1BB, 0xCAFC, 0xC73D, 0xC97E, 0xF03F ]\n \nFor $PxWtE = 0 to 63\n    $eUOPa = $autoit_obfuscator[$PxWtE]\n    $eUOPa = BitXOR($eUOPa, $PxWtE)\n    $eUOPa = $eUOPa - 1\n    $eUOPa = BitRotate($eUOPa, 10, \"W\")\n    $eUOPa = $eUOPa + 1\n    $eUOPa = BitXOR($eUOPa, $PxWtE)\n    $eUOPa = BitNOT($eUOPa)\n    $eUOPa = BitRotate($eUOPa, 15, \"W\")\n    $autoit_obfuscator[$PxWtE] = ChrW(BitAND($eUOPa, 0xFFFF))\nNext\n \n$autoit_obfuscator = _ArrayToString($autoit_obfuscator, \"\")\n \nConsoleWrite($autoit_obfuscator)\n```\n\n### PowerShell encryption (UNICODE example)\n\n```powershell\n# encrypted with https://www.stringencrypt.com (v1.3.0) [PowerShell]\n# $Label = \"Well, it has some interesting syntax!\"\n[uint16[]] $pYeOS = 0x5654, 0x5651, 0x1650, 0x9650, 0x1661, 0x9664, 0xD652, 0x9650,\n                    0x1666, 0x9654, 0xD656, 0xD652, 0x1668, 0xD653, 0x5655, 0x5656,\n                    0xD658, 0x966A, 0xD658, 0x1658, 0x1657, 0x565B, 0x9658, 0x565C,\n                    0x5659, 0x9659, 0xD65C, 0x165C, 0x565E, 0x9670, 0x565C, 0x565B,\n                    0x965E, 0x965D, 0xD662, 0x965D, 0xD673\n[string] $Label = \"\"\n \nfor ($TPYSL = 0; $TPYSL -lt 37; $TPYSL++)\n{\n  $kqSuK = $pYeOS[$TPYSL]\n  $kqSuK = -bnot $kqSuK\n  $kqSuK = (($kqSuK -shl 7) -bor ( ($kqSuK -band 0xFFFF) -shr 9)) -band 0xFFFF\n  $kqSuK += 1\n  $kqSuK = ((($kqSuK -band 0xFFFF) -shr 5) -bor ($kqSuK -shl 11)) -band 0xFFFF\n  $kqSuK += $TPYSL\n  $kqSuK -= 1\n  $kqSuK += $TPYSL\n  $kqSuK -= 0xAE56\n  $Label += [char]($kqSuK -band 0xFFFF)\n}\n \nWrite-Host $Label\n```\n\n### Haskell encryption (ANSI example)\n\n```haskell\n-- encrypted with https://www.stringencrypt.com (v1.3.0) [Haskell]\nmodule Main where\n \nimport qualified Data.Char\nimport qualified Data.Bits\n \nmain = do\n  putStrLn $ gimmeh\n \n-- gimmeh = \"Monads! I need more Monads!\"\ngimmeh = zipWith f [0..] [ 0x40, 0x7F, 0x61, 0x53, 0x6D, 0x67, 0x96, 0x96,\n                           0x4C, 0x98, 0x69, 0x47, 0x44, 0x40, 0x9F, 0x4B,\n                           0x4E, 0x6E, 0xBE, 0x82, 0x94, 0xB3, 0xB5, 0x47,\n                           0xB1, 0xA3, 0x8A ]\n  where\n    f vpkqq ujzsd = let wcufe0 = ujzsd\n                        wcufe1 = wcufe0 `Data.Bits.xor` 0xB0\n                        wcufe2 = Data.Bits.complement wcufe1\n                        wcufe3 = wcufe2 - 0xD0\n                        wcufe4 = Data.Bits.complement wcufe3\n                        wcufe5 = wcufe4 - 0x0E\n                        wcufe6 = wcufe5 - vpkqq\n                        wcufe7 = wcufe6 `Data.Bits.xor` vpkqq\n                        wcufe8 = wcufe7 - vpkqq\n                        wcufe9 = Data.Bits.complement wcufe8\n                    in Data.Char.chr (wcufe9 Data.Bits..\u0026. 0xFF)\n```\n\n### MASM Assembler 32 bit encryption (UNICODE example)\n\n```asm\n; encrypted with https://www.stringencrypt.com (v1.3.0) [MASM Assembler (32 bit)]\n \n.data\n \n        ; szMyGoodOldFriend = \"I will be always here :)\"\n        szMyGoodOldFriend       dw 0BD37h, 0BD4Bh, 0BD63h, 0BD14h, 0BD0Ch, 0BD13h, 0BD4Eh, 0BD17h\n                                dw 0BD13h, 0BD53h, 0BD15h, 0BD55h, 0BCE9h, 0BD5Ah, 0BCF1h, 0BCE2h\n                                dw 0BC94h, 0BD63h, 0BD59h, 0BCB3h, 0BD5Fh, 0BC9Fh, 0BCF8h, 0BCA8h\n                                dw 0BD3Ch\n \n.code\n        mov     ecx, offset szMyGoodOldFriend\n        mov     edx, 25\n        and     eax, 0\n \n@@:\n        mov     bx, word ptr [ecx + eax]\n        not     ebx\n        sub     ebx, eax\n        not     ebx\n        xor     ebx, 02C59h\n        sub     ebx, 0DFB5h\n        add     ebx, eax\n        not     ebx\n        add     ebx, 061C5h\n        xor     ebx, 04FBCh\n        dec     ebx\n        add     ebx, eax\n        not     ebx\n        mov     word ptr [ecx + eax], bx\n        inc     eax\n        dec     edx\n        jne     @b\n \n        push    0\n        push    ecx\n        push    ecx\n        push    0\n        call    MessageBoxW\n```\n\n### FASM Assembler 32 bit (ANSI example)\n\n```asm\n\n; encrypted with https://www.stringencrypt.com (v1.3.0) [FASM Assembler (32 bit)]\n \n        ; szFasm = \"Hi Tomek Grysztar :)\"\n        local   szFasm[21]:BYTE\n \n        lea     edx, [szFasm]\n \n        mov     byte [edx + 8], 0D6h\n        mov     byte [edx + 9], 0F5h\n        mov     byte [edx + 5], 09Fh\n        mov     byte [edx + 0], 0EEh\n        mov     byte [edx + 3], 084h\n        mov     byte [edx + 2], 0E2h\n        mov     byte [edx + 16], 08Ch\n        mov     byte [edx + 19], 0FBh\n        mov     byte [edx + 10], 0A4h\n        mov     byte [edx + 7], 09Dh\n        mov     byte [edx + 18], 0FCh\n        mov     byte [edx + 17], 094h\n        mov     byte [edx + 4], 0ADh\n        mov     byte [edx + 6], 0A7h\n        mov     byte [edx + 11], 0BBh\n        mov     byte [edx + 12], 0A1h\n        mov     byte [edx + 15], 0ABh\n        mov     byte [edx + 14], 0BEh\n        mov     byte [edx + 20], 0FEh\n        mov     byte [edx + 13], 0AAh\n        mov     byte [edx + 1], 093h\n \n        mov     eax, 21\n        sub     ebx, ebx\n \n@@:\n        mov     cl, byte [edx + ebx]\n        xor     ecx, ebx\n        dec     ecx\n        xor     ecx, 043h\n        not     ecx\n        add     ecx, 015h\n        xor     ecx, ebx\n        add     ecx, ebx\n        add     ecx, 055h\n        xor     ecx, ebx\n        xor     ecx, 029h\n        xor     ecx, ebx\n        xor     ecx, 034h\n        xor     ecx, ebx\n        xor     ecx, 0EFh\n        dec     ecx\n        mov     byte [edx + ebx], cl\n        inc     ebx\n        dec     eax\n        jne     @b\n \n        push    0\n        push    edx\n        push    edx\n        push    0\n        call    [MessageBoxA]\n```\n\n# Fin\n\nI hope you like it and you will try it at least :)\n\nBartosz Wójcik\nhttps://www.pelock.com\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpelock%2Fstringencrypt-webapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpelock%2Fstringencrypt-webapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpelock%2Fstringencrypt-webapi/lists"}