Para ayudarte a lograr ese objetivo, he desarrollado el siguiente script "híbrido" en
PowerShell, en el que he encapsulado un algoritmo basado en el método de cifrado
Caesar, que consiste en sustituir los caracteres originales del alfabeto, por otros caracteres que se encuentren en un número fijo de posiciones hacia delante o hacia atrás en el alfabeto. Pero a diferencia de un método
Caesar convencional, esta reinvención no se limita al rango de sustitución del alfabeto, sino a todo el set disponible de caracteres de la tabla
Unicode, por lo que permite hacer sustituciones por caracteres chinos (véase:
https://symbl.cc/en/unicode/table/#cjk-unified-ideographs-extension-a) y cualquier otro caracter o símbolos.
Cypher.ps1<#--- PARAMETERS ---#>
[CmdletBinding()]
param(
[Parameter(Mandatory=$true, ValueFromPipeline=$true, Position=0)]
[ValidateSet("Encrypt", "Decrypt")]
[Alias('o')]
[string]$Operation,
[Parameter(Mandatory=$true, ValueFromPipeline=$true, Position=1)]
[Alias('f')]
[string]$filePath,
[Parameter(Mandatory=$true, ValueFromPipeline=$true)]
[Alias('s')]
[int32]$shift,
[Parameter(Mandatory=$false, ValueFromPipeline=$true)]
[Alias('e')]
[string]$encoding = "Default",
[Parameter(Mandatory=$false, ValueFromPipeline=$true)]
[Alias('c')]
$excludeChars = @()
)
<#--- .NET CODE ---#>
$netCode = @'
Imports Microsoft.VisualBasic
Imports System
Imports System.Linq
Imports System.Text
Public NotInheritable Class StringCypherUtil
Public Shared Function CaesarEncrypt(text As String, shift As Integer,
ParamArray excludeChars As Char()) As String
Dim sb As New StringBuilder(capacity:=text.Length, maxCapacity:=text.Length)
For Each c As Char In text
If excludeChars.Contains(c) Then
sb.Append(c)
Continue For
End If
Dim charCode As Integer = Convert.ToInt32(c) + shift
sb.Append(Convert.ToChar(charCode))
Next c
Return sb.ToString()
End Function
End Class
'@
$netType = Add-Type -TypeDefinition $netCode `
-CodeDomProvider (New-Object Microsoft.VisualBasic.VBCodeProvider) `
-PassThru `
-ReferencedAssemblies "Microsoft.VisualBasic.dll", `
"System.dll", `
"System.Linq.dll" `
| where { $_.IsPublic }
<#--- ENCRYPT / DECRYPT CODE ---#>
[string]$dirName = [System.IO.Path]::GetDirectoryName($filePath)
[string]$fileName = [System.IO.Path]::GetFileNameWithoutExtension($filePath)
[string]$fileExt = [System.IO.Path]::GetExtension($filePath)
switch ($Operation) {
"Encrypt" {
[string]$inputText = Get-Content $filePath -Raw -Encoding $encoding
[string]$encryptedText = [StringCypherUtil]::CaesarEncrypt($inputText, $shift, $excludeChars)
[string]$outputFilePath = "$dirName\$fileName-encrypted$fileExt"
$encryptedText | Out-File -FilePath $outputFilePath -Encoding "UTF8"
}
"Decrypt" {
[string]$encryptedText = Get-Content $filePath -Raw -Encoding "UTF8"
[string]$decryptedText = [StringCypherUtil]::CaesarEncrypt($encryptedText, -$shift, $excludeChars)
[string]$outputFilePath = "$dirName\$fileName-decrypted$fileExt"
$decryptedText | Out-File -FilePath $outputFilePath -Encoding $encoding
}
Default {
Write-Host "Invalid operation. 'Encrypt' or 'Decrypt'."
}
}
Write-Host "Operation Completed."
[System.Console]::WriteLine("Press any key to exit...")
[System.Console]::ReadKey($true)
Exit(0)
Para cifrar un archivo obteniendo caracteres chinos, simplemente usaríamos el script asignando un valor cercano a
13280 en el parámetro "Shift" para desplazar el rango de sustitución de los caracteres del alfabeto hasta donde se encuentra la posición del rango de caracteres chinos:
PowerShell.exe -Command "Cypher.ps1" Encrypt -FilePath "File.bat" -Shift 13280 -Encoding "Default"
Aquí muestro otro ejemplo, usando un valor cercano a
10160 para cifrar un archivo obteniendo símbolos muy curiosos:
PowerShell.exe -Command "Cypher.ps1" Encrypt -FilePath "File.bat" -Shift 10163 -Encoding "Default"
Y el último ejemplo de cifrado, para realizar una sustitución por caracteres más cercanos al rango alfabético, usaríamos, por ejemplo, un valor entre 1 y 10:
PowerShell.exe -Command "Cypher.ps1" Encrypt -FilePath "File.bat" -Shift 1 -Encoding "Default"
Si se prefiere, el script permite excluir caracteres de la operación de cifrado, mediante el parámetro opcional
ExcludeChars. Podemos, por ejemplo, excluir los caracteres de salto de línea (
CarriageReturn y
LineFeed) para generar un archivo cifrado que preserve los saltos de línea del archivo original en vez de generar una única línea:
-ExcludeChars ([char]10,[char]13)
Y para descifrar un archivo, se usaría de la siguiente forma:
PowerShell.exe -Command "Cypher.ps1" Decrypt -FilePath "Encrypted.bat" -Shift VALOR -Encoding "Default"
Reemplazando "VALOR" por el mismo valor de desplazamiento que hayamos usado para cifrar el archivo.
Tomando como ejemplo este Batch-Script:
Piedra-Papel-Tijeras.bat@Echo OFF
Title Piedra, Papel, O tijera! (By Elektro H@cker)
Color 0F
Mode con cols=60 lines=26
:Play
CLS
Set WIN=
Echo.
Echo: Player [MARCADOR] COM
Echo: %POINTS% %COMPOINTS%
Echo: __________________________________________________________
Echo: | MORE
Echo: [1] O [2] # [3] 8^^^< | MORE
Echo: Piedra Papel Tijera | MORE | MORE | MORE | MORE
Choice /C 123 /M "¨Que llevas en la mano? "
Set Player=%ERRORLEVEL%
Set COMPlayer=%RANDOM:~0,1%
If %COMPlayer% GTR 3 (Set /A COMPlayer=3)
CLS
IF %PLAYER% EQU 1 (Set PlayerHAND=una piedra)
IF %PLAYER% EQU 2 (Set PlayerHAND=un papel)
IF %PLAYER% EQU 3 (Set PlayerHAND=una tijera)
Echo+ & Echo: Sacaste %PlayerHAND%! | MORE
Call :ANI%PLAYER%
IF %COMPLAYER% EQU 1 (Set COMHAND=una piedra)
IF %COMPLAYER% EQU 2 (Set COMHAND=un papel)
IF %COMPLAYER% EQU 3 (Set COMHAND=una tijera)
Echo: La consola sac¢ %COMHAND%! | MORE
Call :ANI%COMPLAYER%
IF DEFINED WIN (
IF "%WIN%" EQU "SI" (Echo: GANASTE! & Set /A Points+=1)
IF "%WIN%" EQU "NO" (Echo: PERDISTE! & Set /A COMPOINTS+=1)
) ELSE (Echo: EMPATE!)
Timeout /T 3 2>NUL || (Pause)
Goto :Play
:ANI1
Echo: ________________
Echo: .='==============;:\
Echo: ^| ^|:^|
Echo: ^| ^|:^|
Echo: ^| ^|;^|
Echo: ^| ^|;/
Echo: '================'` | MORE
If %PLAYER% EQU 2 (Set Win=SI)
If %PLAYER% EQU 3 (Set Win=NO)
Goto :EOF
:ANI2
Echo: _________
Echo: /- -/
Echo: /~~======~~/
Echo: / /
Echo: ( (
Echo: `==========` | MORE
If %PLAYER% EQU 1 (Set Win=NO)
If %PLAYER% EQU 3 (Set Win=SI)
Goto :EOF
:ANI3
Echo: ___ __
Echo: / _ \ _.-'_.'
Echo: \____`-.____.-'_.-'
Echo: `-. _.\.-'
Echo: ____.-'`__/-._
Echo: / _ .-'` '-._`-._
Echo: \___/ '-._'-.
Echo: `-` | MORE
If %PLAYER% EQU 1 (Set Win=SI)
If %PLAYER% EQU 2 (Set Win=NO)
Goto :EOF
Utilizando los ejemplos de uso que he mencionado anteriormente para el script "
Cypher.ps1", obtendremos el siguiente código cifrado con caracteres chinos:
㐠㐥㑃㑈㑏㐀㐯㐦㐦
㐴㑉㑔㑌㑅㐀㐰㑉㑅㑄㑒㑁㐌㐀㐰㑁㑐㑅㑌㐌㐀㐯㐀㑔㑉㑊㑅㑒㑁㐁㐀㐀㐈㐢㑙㐀㐥㑌㑅㑋㑔㑒㑏㐀㐨㐠㑃㑋㑅㑒㐉
㐣㑏㑌㑏㑒㐀㐐㐦
㐭㑏㑄㑅㐀㑃㑏㑎㐀㑃㑏㑌㑓㐝㐖㐐㐀㑌㑉㑎㑅㑓㐝㐒㐖
㐀
㐚㐰㑌㑁㑙
㐣㐬㐳
㐳㑅㑔㐀㐷㐩㐮㐝
㐥㑃㑈㑏㐎
㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐰㑌㑁㑙㑅㑒㐀㐀㐀㐀㐀㐀㐻㐭㐡㐲㐣㐡㐤㐯㐲㐽㐀㐀㐀㐀㐀㐀㐣㐯㐭
㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐅㐰㐯㐩㐮㐴㐳㐅㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐅㐣㐯㐭㐰㐯㐩㐮㐴㐳㐅
㐥㑃㑈㑏㐚㐀㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿
㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㑜㐀㐭㐯㐲㐥
㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐻㐑㐽㐀㐯㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐻㐒㐽㐀㐃㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐻㐓㐽㐀㐘㐾㐾㐾㐜㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㑜㐀㐭㐯㐲㐥
㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐰㑉㑅㑄㑒㑁㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐰㑁㑐㑅㑌㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐴㑉㑊㑅㑒㑁㐀㐀㐀㐀㑜㐀㐭㐯㐲㐥㐀㑜㐀㐭㐯㐲㐥㐀㑜㐀㐭㐯㐲㐥㐀㑜㐀㐭㐯㐲㐥
㐀
㐣㑈㑏㑉㑃㑅㐀㐏㐣㐀㐑㐒㐓㐀㐏㐭㐀㐂㒈㐱㑕㑅㐀㑌㑌㑅㑖㑁㑓㐀㑅㑎㐀㑌㑁㐀㑍㑁㑎㑏㐟㐀㐂
㐀
㐳㑅㑔㐀㐰㑌㑁㑙㑅㑒㐝㐅㐥㐲㐲㐯㐲㐬㐥㐶㐥㐬㐅
㐳㑅㑔㐀㐣㐯㐭㐰㑌㑁㑙㑅㑒㐝㐅㐲㐡㐮㐤㐯㐭㐚㑞㐐㐌㐑㐅
㐩㑆㐀㐅㐣㐯㐭㐰㑌㑁㑙㑅㑒㐅㐀㐧㐴㐲㐀㐓㐀㐈㐳㑅㑔㐀㐏㐡㐀㐣㐯㐭㐰㑌㑁㑙㑅㑒㐝㐓㐉
㐀
㐣㐬㐳
㐩㐦㐀㐅㐰㐬㐡㐹㐥㐲㐅㐀㐥㐱㐵㐀㐑㐀㐀㐀㐀㐈㐳㑅㑔㐀㐰㑌㑁㑙㑅㑒㐨㐡㐮㐤㐝㑕㑎㑁㐀㑐㑉㑅㑄㑒㑁㐉
㐩㐦㐀㐅㐰㐬㐡㐹㐥㐲㐅㐀㐥㐱㐵㐀㐒㐀㐀㐀㐀㐈㐳㑅㑔㐀㐰㑌㑁㑙㑅㑒㐨㐡㐮㐤㐝㑕㑎㐀㑐㑁㑐㑅㑌㐉
㐩㐦㐀㐅㐰㐬㐡㐹㐥㐲㐅㐀㐥㐱㐵㐀㐓㐀㐀㐀㐀㐈㐳㑅㑔㐀㐰㑌㑁㑙㑅㑒㐨㐡㐮㐤㐝㑕㑎㑁㐀㑔㑉㑊㑅㑒㑁㐉
㐥㑃㑈㑏㐋㐀㐆㐀㐥㑃㑈㑏㐚㐀㐳㑁㑃㑁㑓㑔㑅㐀㐅㐰㑌㑁㑙㑅㑒㐨㐡㐮㐤㐅㐁㐀㑜㐀㐭㐯㐲㐥
㐣㑁㑌㑌㐀㐚㐡㐮㐩㐅㐰㐬㐡㐹㐥㐲㐅
...
etc
O en una sola línea:
㐠㐥㑃㑈㑏㐀㐯㐦㐦㏭㏪㐴㑉㑔㑌㑅㐀㐰㑉㑅㑄㑒㑁㐌㐀㐰㑁㑐㑅㑌㐌㐀㐯㐀㑔㑉㑊㑅㑒㑁㐁㐀㐀㐈㐢㑙㐀㐥㑌㑅㑋㑔㑒㑏㐀㐨㐠㑃㑋㑅㑒㐉㏭㏪㐣㑏㑌㑏㑒㐀㐐㐦㏭㏪㐭㑏㑄㑅㐀㑃㑏㑎㐀㑃㑏㑌㑓㐝㐖㐐㐀㑌㑉㑎㑅㑓㐝㐒㐖㏭㏪㐀㏭㏪㐚㐰㑌㑁㑙㏭㏪㐣㐬㐳㏭㏪㐳㑅㑔㐀㐷㐩㐮㐝㏭㏪㐥㑃㑈㑏㐎㏭㏪㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐰㑌㑁㑙㑅㑒㐀㐀㐀㐀㐀㐀㐻㐭㐡㐲㐣㐡㐤㐯㐲㐽㐀㐀㐀㐀㐀㐀㐣㐯㐭㏭㏪㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐅㐰㐯㐩㐮㐴㐳㐅㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐅㐣㐯㐭㐰㐯㐩㐮㐴㐳㐅㏭㏪㐥㑃㑈㑏㐚㐀㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㏭㏪㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㑜㐀㐭㐯㐲㐥㏭㏪㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐻㐑㐽㐀㐯㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐻㐒㐽㐀㐃㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐻㐓㐽㐀㐘㐾㐾㐾㐜㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㑜㐀㐭㐯㐲㐥㏭㏪㐥......etc
O cifrado con estos otros símbolos:
⟳⟸⠖⠛⠢⟓⠂⟹⟹
⠇⠜⠧⠟⠘⟓⟵⠔⠧⠂⠙⠨⠦⠘⠥
⠅⟸⠀⟓⟵⠬⟓⟸⠟⠘⠞⠧⠥⠢⟓⟻⟳⠖⠞⠘⠥
⟭⟭⟓⠉⠜⠦⠜⠧⠔⟭⟓⟹⠢⠥⠢⟡⠘⠟⠛⠔⠖⠞⠘⠥⟡⠡⠘⠧
⠀⠢⠗⠘⟓⠖⠢⠡⟓⠖⠢⠟⠦⟰⟤⟣⟫⟓⠟⠜⠡⠘⠦⟰⟥⟨
⠁⠜⠥⟶⠀⟷⟓⠊⠜⠡⟓⟶⠘⠡⠧⠘⠥⟓⟼⠧⠜⠧⠟⠘⟓⟕⟵⠔⠧⠂⠙⠨⠦⠘⠥⟕⟓⟱⠁⠈⟿⟓⟥⟱⟙⟤
⠅⟸⠀⟓⠖⠛⠖⠣⟓⟤⟥⟨⟥⟓⟱⠁⠈⟿
⟭⟿⠢⠚⠢
⟸⠖⠛⠢⟞
⟸⠖⠛⠢⟭⟓⟫⟫⟫⟫⟫⟫⟫⟫⠕⠔⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟟⠔⠗⟫⟫⟫⟫⠕⠔⟟⟓⟓⟓⟓⟓⟓⟓⠔⠗⟫⟫
⟸⠖⠛⠢⟭⟓⟫⟫⟓⟓⟓⟓⟓⟓⟕⟫⠕⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟟⠗⟓⟓⟓⟓⟓⟓⠗⟫⟕⟚⟓⟓⟓⟓⠓⟕⟫⠕⟓⟓⟓⟓⟓⠗⟫⟕
⟸⠖⠛⠢⟭⟓⟫⟫⟓⟓⟓⟓⟓⟓⟟⟫⠃⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⠗⟫⟚⟓⟓⟓⟓⟓⟓⟓⟓⠓⟫⠕⟓⟓⟓⟓⟫⟫
⟸⠖⠛⠢⟭⟓⟫⟫⠔⠔⠔⠔⠔⠔⟫⠃⟚⟓⟓⟟⠔⠗⠃⠃⠌⠌⠕⠔⟟⟓⟓⠀⠀⟫⟫⠀⠀⠀⟓⟓⟫⟫⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟫⟫⟓⟓⠀⠀⟫⟫⠀⠀⠀⟓⟓⟫⟫⟓⟓⟓⟓⟓⟓⟓⟫⟫⟓⟓⟟⠔⠗⠃⠃⠌⠕⠔⟟⟓⟓⟓⟟⠔⠗⠃⠃⠌⠕⠔⟟⟓⟓⟫⠕⟟⠗⠃⠃⠌⠕⠔⟟
⟸⠖⠛⠢⟭⟓⟫⟫⟕⟕⟕⟕⟕⟕⟫⠕⟟⟓⟓⟕⟕⟓⟓⟓⟓⟓⠓⠌⟫⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⟓⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⟓⟓⟫⟫⟓⟓⟼⟫⠎⟓⟓⟓⟓⟕⟕⟓⟓⠔⟫⠃⠒⠒⠒⠒⠒⟫⟫⟓⟓⟫⟫⠃⟚⟓⟓⟓⟕⠌⟫
⟸⠖⠛⠢⟭⟓⟫⟫⟓⟓⟓⟓⟓⟓⠓⟫⠕⟓⟓⟟⠔⠗⠃⠃⠃⠃⠃⟫⟫⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⠌⟫⟟⟓⟓⟓⟓⟓⟓⟓⟓⟟⟫⠃⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⟓⟓⟫⟫⟓⟓⟓⠓⟕⠌⟫⠕⠔⟟⟓⟓⟓⟫⠃⠃⟕⟕⟕⟕⟕⟕⟕⟓⟓⟫⟫
⟸⠖⠛⠢⟭⟓⟫⟫⟓⟓⟓⟓⟓⟓⠔⟫⠃⟓⟓⟫⟫⟟⟓⟓⟓⟓⟟⟫⟫⟓⟓⟓⟓⟫⟫⟟⟓⟓⟓⟓⟓⠌⟫⠔⟡⟓⟓⟓⟓⟡⠔⟫⠃⟓⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⟕⟫⠔⟟⟓⟓⟓⟟⠔⟫⟫⟓⟓⠔⠔⟓⟓⟓⟓⠐⟫⟼⟓⟓⟕⟫⠕⟟⟓⟓⟓⟟⠔⠔⟓⟓⟫⟫
⟸⠖⠛⠢⟭⟓⟫⟫⟫⟫⟫⟫⟫⟫⠃⟕⟓⟓⟓⠓⟕⟫⠕⠕⠗⠃⟕⠌⟫⟓⟓⟓⟓⟕⠌⟫⟫⟫⟓⟓⟓⟓⠓⟕⠌⟫⟫⟫⟫⠌⟕⟚⟓⟓⟓⟓⟓⟓⟫⟫⟓⟓⟓⟓⟓⟓⠓⟕⠌⠕⠕⠗⠃⟚⠌⟫⟓⟓⠓⟕⠌⠕⠕⠗⠃⟕⟚⟓⟓⟓⠓⟕⠌⠕⠕⠗⟫⟕⟚⟓⟓⟫⟫
⟸⠖⠛⠢⟞
⟸⠖⠛⠢⟭⟓⟵⠬⟓⟸⠟⠘⠞⠧⠥⠢⟓⟻⟳⠖⠞⠘⠥
⟸⠖⠛⠢⟞⟓
⟸⠖⠛⠢⟭⟓⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏⢏
⟺⠢⠧⠢⟓⟭⠀⠘⠡⠨
⟭⟶⠛⠔⠥⠟⠜⠦⠧
⠆⠘⠧⟓⟕⟴⠟⠣⠛⠔⟰⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⟴⟵⟶⟷⟸⟹⟺⟻⟼⟽⟾⟿⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⟕
⠆⠘⠧⟓⟕⠁⠨⠠⠘⠥⠜⠖⟰⟣⟤⟥⟦⟧⟨⟩⟪⟫⟬⟕
⠆⠘⠧⟓⟕⠆⠣⠘⠖⠜⠔⠟⟰⠏⠯⟳⟖⠱⟔⟗⟘⟙⟢⟛⟜⟰⟲⟯⟱⟮⟟⟡⟠⠒⟞⟝⠎⠐⠮⠰⠓⟚⠑⠑⟕⟭
⠆⠘⠧⟓⟕⠆⠣⠘⠖⠜⠔⠟⠒⠈⠇⟹⟫⟰䟙䟍⡔⡕⡖䟙⤓⢉䟕䟇⡨䟍⢉⢓⢜⡪⢇⢑⢖⢞⤰䟣䟬䟐⤔⤰⢆⢋䣕⤔⡗⡘⡙⡚⢭⡛⡠⢢⟕
⠅⠘⠠⟓⠆⠣⠘⠖⠜⠔⠟⠒⠈⠇⟹⟫⟰⟓⢔⢜⢠⢦⢭⟓⢓⢛⢟⢥⢬⟓⡴⡼⢀⢆⢍⟓⡳⡻⡿⢅⢌⟓⢗⢞⢢⢩⢯⟓⡷⡾⢂⢉⢏⟓⢤⟓⢄⟓⡝⟓⡭⟓⡪⟓⡲⟓⡔⟓⟚
⟭⠀⠘⠡⠨
⟸⠖⠛⠢⟞
⟸⠖⠛⠢⟭⟓⟴⠥⠥⠔⠦⠧⠥⠔⟓⠔⟓⠟⠔⟓⠩⠘⠡⠧⠔⠡⠔⟓⠘⠟⟓⠔⠥⠖⠛⠜⠩⠢⟓⠤⠨⠘⟓⠤⠨⠜⠘⠥⠘⠦⟓⠢⠙⠨⠦⠖⠔⠥⟢⠗⠘⠦⠢⠙⠨⠦⠖⠔⠥⟡⟡⟡⟓⠯⟓⠀⠢⠥⠘
⠆⠘⠧⟓⟢⠃⟓⟴⠥⠖⠛⠜⠩⠢⟰⠑⟱⠑⟱⠑⟱⟓
⟼⠙⟓⠡⠢⠧⟓⠗⠘⠙⠜⠡⠘⠗⟓⠔⠥⠖⠛⠜⠩⠢⟓⟛⟺⠢⠧⠢⟓⟭⠀⠘⠡⠨⟜
⠇⠬⠣⠘⟓⟘⠔⠥⠖⠛⠜⠩⠢⟘⠯⟓⟹⠜⠡⠗⟓⟕⟵⠬⟓⟸⠟⠘⠞⠧⠥⠢⟓⟻⟳⠖⠞⠘⠥⟕⟓⟱⠁⠈⟿⟓⟥⟱⟙⟤
⟼⠙⟓⟘⟸⠥⠥⠢⠥⠟⠘⠩⠘⠟⟘⟓⟸⠄⠈⟓⟣⟓⟛⟺⠢⠧⠢⟓⟭⟷⠘⠦⠢⠙⠨⠦⠖⠔⠗⠢⠥⟜⟓
⟶⠟⠦
...
etc
O tambíen cifrado así:
CHfkr#RII
Wlwoh#EdwRixvhu
UHP#E|#Hohnwur#KCfnhu
==#Ylvlwd=#Irur1hokdfnhu1qhw
Prgh#frq#frov@43;#olqhv@58
QluFPG#Zlq#Fhqwhu#Lwlwoh#%EdwRixvhu%#AQXO#5A)4
UHP#fkfs#4585#AQXO
=Orjr
Hfkr.
Hfkr=#;;;;;;;;ed##########################/dg;;;;ed/#######dg;;
Hfkr=#;;######%;e################/g######g;%*####c%;e#####g;%
Hfkr=#;;######/;S################;;#####g;*########c;e####;;
Hfkr=#;;dddddd;S*##/dgSS\\ed/##PP;;PPP##;;##########;;##PP;;PPP##;;#######;;##/dgSS\ed/###/dgSS\ed/##;e/gSS\ed/
Hfkr=#;;%%%%%%;e/##%%#####c\;####;;#####;;##########;;####;;#####;;#######;;##L;^####%%##d;Sbbbbb;;##;;S*###%\;
Hfkr=#;;######c;e##/dgSSSSS;;####;;#####\;/########/;S####;;#####;;#######;;###c%\;ed/###;SS%%%%%%%##;;
Hfkr=#;;######d;S##;;/####/;;####;;/#####\;d1####1d;S#####;;#####%;d/###/d;;##dd####`;L##%;e/###/dd##;;
Hfkr=#;;;;;;;;S%###c%;eegS%\;####%\;;;####c%\;;;;\%*######;;######c%\eegS*\;##c%\eegS%*###c%\eeg;%*##;;
Hfkr.
Hfkr=#E|#Hohnwur#KCfnhu
Hfkr.#
Hfkr=#ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
Jrwr#=Phqx
=Fkduolvw
Vhw#%Doskd@defghijklmnopqrstuvwxyz{|}DEFGHIJKLMNOPQRSTUVWXYZ[\]%
Vhw#%Qxphulf@3456789:;<%
Vhw#%Vshfldo@_C&$'()2+,@B?A>/10b.-^`~€c*aa%=
Vhw#%VshfldobXWI;@
”¤¥¦
ţÙ‥‗¸”Ùãìº×áæîƀ″‼†ŤƀÖÛ℥Ť§¨©ªý«°ò%
Uhp#VshfldobXWI;@#äìðöý#ãëïõü#ÄÌÐÖÝ#ÃËÏÕÜ#çîòùÿ#ÇÎÒÙß#ô#Ô##½#º##¤#*
...
etc
Aténtamente,
Elektro.