Softanza
StartFrançais
Softanza
The library documents itself · String

stzStringCrypto

32 own methods · 3 forms written with extensions, listed under their method

the source: base/string/stzStringCrypto.ring(opens in a new tab) · All classes · The area reference: String

Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean

Examples: 0 come from the library's tests; 20 were composed from each method's signature and run for this page, on a fresh object, for example o1 = new stzStringCrypto("plain ascii text"). 12 methods have none yet. Examples run on 2026-10-03 12:54 inside the library at commit 0e72e2e2c.

Method
Explanation, as the source carries it
init
(no comment in the source: the name reads as a sentence) initno extension
Content
(no comment in the source: the name reads as a sentence) contentno extension
NumberOfChars
(no comment in the source: the name reads as a sentence) number of chars
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.NumberOfChars()
#--> 16
composed from the signature, run for this page
no extension
IsEmpty
(no comment in the source: the name reads as a sentence) is empty
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.IsEmpty()
#--> 0
composed from the signature, run for this page
no extension
Hash
hashing (engine-backed)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Hash()
#--> 3821443530719439360.00
composed from the signature, run for this page
no extension
Entropy
hashing (engine-backed)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Entropy()
#--> 332
composed from the signature, run for this page
no extension
Sha256
sha-256 (engine-backed)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Sha256()
#--> a3282603063c6b171802197393303a34973a6b6fca72813d29d31ba462c46880
composed from the signature, run for this page
no extension
Md5
md5 (engine-backed)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Md5()
#--> 913c564868fe745d8803b1e7e125cc68
composed from the signature, run for this page
no extension
Blake3
blake3 (engine-backed)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Blake3()
#--> f1ebc84afa8aa72ff21e4d93271be904e979e2691fbb137ed9867e5c34a5789a
composed from the signature, run for this page
no extension
HmacSha256
hmac-sha256 (engine-backed)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.HmacSha256("an")
#--> eca2488aeabcaf4f903ffd8677c796ca4a961002eb9f36192eaf46ccd0803d23
composed from the signature, run for this page
no extension
XorEncrypt
So the cipher now stays inside the engine and what crosses the bridge is always base64. XorDecrypt is a real method rather than an alias for XorEncrypt: the pair is still an involution over the BYTES, but the encoding step has a direction.
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.XorEncrypt("an")
#--> EQIABw9OAB0CBwhOFQsZGg==
composed from the signature, run for this page
no extension
XorDecrypt
xor cipher (engine)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.XorDecrypt("an")
#--> �8�
composed from the signature, run for this page
no extension
Checksum
checksum
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Checksum()
#--> 1570
composed from the signature, run for this page
no extension
ChecksumHex
checksum
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.ChecksumHex()
#--> 622
composed from the signature, run for this page
no extension
Base64Encode
base64 (engine-backed)also written: Base64Encoded
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Base64Encode()
#--> cGxhaW4gYXNjaWkgdGV4dA==
composed from the signature, run for this page
no extension
Base64Decode
base64 (engine-backed)also written: Base64Decoded
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Base64Decode()
#--> �V�
composed from the signature, run for this page
no extension
ROT13
rot13 cipher (engine)QCSXTZZZIBWU
ROT13ed
rot13 cipher (engine)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.ROT13ed()
#--> cynva nfpvv grkg
composed from the signature, run for this page
no extension
CaesarEncrypt
caesar cipher (engine)no extension
CaesarDecrypt
caesar cipher (engine)no extension
CaesarEncrypted
caesar cipher (engine)no extension
VigenereEncrypt
vigenere cipher (engine)no extension
VigenereEncrypted
vigenere cipher (engine)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.VigenereEncrypted("an")
#--> pyavn nspiv trxg
composed from the signature, run for this page
no extension
Atbash
atbash cipher (engine)no extension
Atbashed
atbash cipher (engine)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Atbashed()
#--> kozrm zhxrr gvcg
composed from the signature, run for this page
no extension
ROT47
rot47 cipher (engine)no extension
ROT47ed
rot47 cipher (engine)
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.ROT47ed()
#--> A=2:? 2D4:: E6IE
composed from the signature, run for this page
no extension
IsEncrypted
encryption detection
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.IsEncrypted()
#--> 1
composed from the signature, run for this page
no extension
Obfuscate
obfuscationQCSXTZZZIBWU
Obfuscated
obfuscation
composed example
o1 = new stzStringCrypto("plain ascii text")
? o1.Obfuscated()
#--> LhErLkknMwo9O0kgMwgiKg==
composed from the signature, run for this page
no extension
Deobfuscated
The inverse, which did not exist. Obfuscate() could be applied and never undone -- reversing then XORing again is NOT the inverse of XORing then reversing, so callers had no way back.no extension
Deobfuscate
obfuscationQCSXTZZZIBWU