[*] -  SecureInfo.eu, /Crypto/leet_speak.py

Back


#!/usr/bin/env python3

from sys import argv, stdin, stdout, exit
from random import randint

APP=argv[0].split('/')[-1]

def to_num(c):
  l = c.lower()
  if( l == 'o' ): return('0')
  if( l == 'l' ): return('1')
  if( l == 'z' ): return('2')
  if( l == 'e' ): return('3')
  if( l == 'a' ): return('4')
  if( l == 's' ): return('5')
  if( l == 'b' ): return('6')
  if( l == 't' ): return('7')
  if( l == 'g' ): return('9')
  return(c)

def read_stdin():
  ret = stdin.buffer.read()
  return(ret.decode())

def leet_speak(msg):

  arr = msg.split(' ')
  dst = ""

  for a in arr:
    o = ""
    for c in a:
      r = randint(1,3)
      if( r == 1 ):
        o += c.lower()
      elif( r == 2 ):
        o += c.upper()
      elif( r == 3 ):
        o += to_num(c)
      else:
        o += c
    dst += o + " "
  return(dst)

if __name__ == '__main__':
  if( len(argv) == 2 ):
    if argv[1] == '-h':
      print("\nUsages: %s <string|stdin>\n" % APP)
      exit()
  if( len(argv) > 1 ):
    for a in argv[1:]:
      print(leet_speak(a))
  else:
    print(leet_speak(read_stdin()))
⬆️ Top
admin