1. What is neoCrypto?
neoCrypto is a native, comprehensive cryptographic toolkit for VisualNEO Win.
It provides authenticated AES-256 encryption, cryptographic hashing (MD5, SHA-1, SHA-256, SHA-384, SHA-512 and standard CRC-32), HMAC creation and verification, Base64/Hex/URL encoders, cryptographically secure random bytes and passwords, and UUID creation.
Version 2 uses the authenticated NC257 container for text and files. A password is expanded with PBKDF2-HMAC-SHA-256 (100,000 iterations) into independent encryption and authentication keys. The ciphertext is verified with HMAC-SHA-256 before any plaintext is returned or written. Version 2 intentionally does not decrypt the unauthenticated NC256 format.
Why do you need neoCrypto?
- Protect Sensitive Data: Encrypt local records or documents so that corruption, a wrong password, and deliberate modification are detected before decryption.
- Verify File & Data Integrity: Generate SHA-256 or MD5 checksums for files to detect corruption or tampering after downloads.
- Interact with Web APIs: Encode query parameters for URLs, convert binary payloads to Base64, and calculate HMAC-SHA256 signatures required by cloud REST APIs.
- Generate Secure Keys & Tokens: Create UUID v4 identifiers and high-entropy passwords with custom character sets.
2. Quick Start: Everyday Cryptography in 3 Steps
Step 1: Encrypt and Decrypt a Text String with AES-256
. Encrypt secret text with your password
neoCryptoEncryptString "Super Secret Database Password" "MyKey@2026" "[EncryptedBase64]"
. [EncryptedBase64] -> "Y6WXh6QHfOnQheZTyQwiH4frJRiJwpulgvIO41XM..."
. Decrypt it back
neoCryptoDecryptString "[EncryptedBase64]" "MyKey@2026" "[DecryptedText]"
AlertBox "Decrypted" "[DecryptedText]"
Step 2: Calculate a SHA-256 Hash
. Hash a string (one-way cryptographic digest)
neoCryptoHashString "SHA256" "Hello VisualNEO" "[HashResult]"
. [HashResult] -> "a35d8869b35b602ec45c0f..."
. Hash a downloaded file to verify integrity
neoCryptoHashFile "SHA256" "[PubDir]setup.exe" "[FileHash]"
Step 3: Base64 and URL Encoding
. Convert text to Base64
neoCryptoBase64Encode "User:Admin" "[AuthHeader]"
. Percent-encode text for URL queries
neoCryptoUrlEncode "Search term with spaces & symbols" "[SafeUrlParam]"
3. Real-World Practical Examples
Example 1: Encrypting Application Data Files to Disk
Protect sensitive local save files:
. Encrypt the database before exiting application
neoCryptoEncryptFile "[PubDir]app_data.db" "[PubDir]app_data.enc" "StrongAppPassword@2026"
FileErase "[PubDir]app_data.db"
. Upon next startup, restore the data file
neoCryptoDecryptFile "[PubDir]app_data.enc" "[PubDir]app_data.db" "StrongAppPassword@2026"
Example 2: Secure Random Password Generator
Generate strong temporary passwords for users:
. Generate a 16-character password with uppercase, lowercase, digits and symbols
neoCryptoGenerateRandomPassword "16" "True" "True" "True" "[NewPassword]"
AlertBox "Generated Password" "[NewPassword]"
Example 3: Generating Unique Database UUIDs
Create a globally unique identifier (UUID v4) for new database records:
neoCryptoGenerateUUID "standard" "[RecordUUID]"
. [RecordUUID] -> "3f4b8c92-1e7a-4b0d-9c3f-8a2b5e1c4d7e"
Example 4: Calculating HMAC-SHA256 for Cloud API Authentication
Many cloud APIs (AWS, GitHub, Stripe) require HMAC signatures:
neoCryptoHMAC "SHA256" "my_api_secret_key" "POST/v1/payment" "[HmacSignature]"
neoCryptoVerifyHMAC "SHA256" "my_api_secret_key" "POST/v1/payment" "[HmacSignature]" "[SignatureValid]"
4. Complete Action Reference
Encoders & Decoders
| Action | Parameters | Description |
|---|---|---|
neoCryptoBase64Encode | "[Text]" "[VarResult]" | Encodes text string into Base64 format. |
neoCryptoBase64Decode | "[Base64Text]" "[VarResult]" | Decodes Base64 string back to UTF-8 text. |
neoCryptoHexEncode | "[Text]" "[VarResult]" | Encodes text into Hexadecimal string. |
neoCryptoHexDecode | "[HexText]" "[VarResult]" | Decodes Hexadecimal string back to text. |
neoCryptoUrlEncode | "[Text]" "[VarResult]" | Percent-encodes text for URLs. |
neoCryptoUrlDecode | "[UrlEncodedText]" "[VarResult]" | Decodes URL-encoded text. |
Cryptographic Hashes & Signatures
| Action | Parameters | Description |
|---|---|---|
neoCryptoHashString | "[Algorithm]" "[Text]" "[VarResult]" | Computes hash of string (MD5, SHA1, SHA256, SHA384, SHA512, CRC32). |
neoCryptoHashFile | "[Algorithm]" "[FilePath]" "[VarResult]" | Computes hash of an entire disk file. |
neoCryptoHmac | "[Algorithm]" "[SecretKey]" "[Text]" "[VarResult]" | Calculates Keyed-Hash Message Authentication Code. |
neoCryptoVerifyHMAC | "[Algorithm]" "[SecretKey]" "[Text]" "[ExpectedHex]" "[VarValid]" | Verifies an HMAC using constant-time comparison. |
Symmetric Encryption (AES-256)
| Action | Parameters | Description |
|---|---|---|
neoCryptoEncryptString | "[Text]" "[Password]" "[VarResultBase64]" | Encrypts text using AES-256. |
neoCryptoDecryptString | "[CipherBase64]" "[Password]" "[VarResultText]" | Decrypts AES-256 ciphertext. |
neoCryptoEncryptFile | "[SourceFile]" "[DestFile]" "[Password]" | Encrypts a disk file using AES-256. |
neoCryptoDecryptFile | "[SourceFile]" "[DestFile]" "[Password]" | Decrypts an AES-256 encrypted file. |
Utilities & Generators
| Action | Parameters | Description |
|---|---|---|
neoCryptoGenerateRandomPassword | "[Length]" "[Upper]" "[Digits]" "[Symbols]" "[VarResult]" | Generates a cryptographically strong random password. Lowercase letters are always included. |
neoCryptoGenerateRandomBytes | "[Count]" "[hex/base64]" "[VarResult]" | Generates 1 to 1,048,576 cryptographically secure random bytes. |
neoCryptoGenerateUUID | "[Format]" "[VarResult]" | Generates a UUID (standard, compact, uppercase, braced). |
5. Security and Limits
- Treat MD5 and SHA-1 as legacy compatibility hashes. Use SHA-256 or stronger for integrity checks.
- Encoding is not encryption. Base64, Hex and URL encoding do not protect secrets.
- Encrypted source files are limited to 256 MB in this Win32 build to keep memory use bounded.
- Decryption writes atomically: authentication failure does not replace the destination file.
- Store passwords outside the publication whenever possible. The plugin cannot protect a password embedded in a script.
6. Interactive Demo
Open demo/neoCrypto-demo.pub in VisualNEO Win to test AES-256 string/file encryption, SHA-256 hashes, Base64/Hex conversion, and UUID generation interactively.