Realm

gno.land/r/g12cs4cehujpffpjpywmkqj43m6u5ya53nj69sjz/rot13

Rendered output

ROT13

On-chain port of Go's classic ROT13 cipher — the standard-library strings.Map / io.Reader teaching example. Each ASCII letter is rotated 13 places through the alphabet; everything else is left alone.

Because the alphabet has 26 letters and 13 is exactly half, ROT13 is its own inverse — encoding twice returns the original text.

Example

stage text
input Hello, Gno!
ROT13 Uryyb, Tab!
ROT13 again Hello, Gno!

Try it

  • Render("/Uryyb, Tab!") — decode any text (append it to the path).
  • Render("/caesar/3/attack at dawn") — a general Caesar shift.

Or call the exported functions directly:

Rot13("Hello, Gno!")     // "Uryyb, Tab!"
Caesar("attack", 3)      // "dwwdfn"
Caesar("Hello", 13)      // same as Rot13: "Uryyb"

Query (read-only)

non-crossing functions · no tx, no wallet needed
Caesar(s string, shift int) → string
Rot13(s string) → string

All exported functions (3)

show raw signatures
NameParamsReturns
Rot13 [{"Name": "s", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "string", "Value": ""}]
Caesar [{"Name": "s", "Type": "string", "Value": ""}, {"Name": "shift", "Type": "int", "Value": ""}] [{"Name": ".res.0", "Type": "string", "Value": ""}]
Render [{"Name": "path", "Type": "string", "Value": ""}] [{"Name": ".res.0", "Type": "string", "Value": ""}]

Files

Storage

{
  "raw": "storage: 8319, deposit: 831900"
}