Login Register


[Source] Hazz15, Zong22, Megan35, Atom128 filter_list
Author
Message
[Source] Hazz15, Zong22, Megan35, Atom128 #1
You probably already encountered these odd encodings I named in the title.
Searching for algorithms or explanations won't give you much information as they seem to be an invention by a single website: http://crypo.in.ua/tools/eng_atom128d.php

It is amazing how many people use these encodings nevertheless.
I discovered that they are only base64 variants whose characters have been substituted.

Here is a Python 2.7 solution for these encodings. It calculates the base64 string and substitutes the characters afterwards to encode or vice versa to decode.

Code:
import base64 megan35 = "3GHIJKLMNOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5" atom128 = "/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC" zong22 = "ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2" hazz15 = "HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5" base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" class B64VariantEncoder: def __init__(self, translation): base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" self.lookup = dict(zip(base, translation)) self.revlookup = dict(zip(translation, base)) def encode(self, text): global lookup b64 = base64.b64encode(text) result = "".join([self.lookup[x] for x in b64]) return result def decode(self, code): global revlookup b64 = "".join([self.revlookup[x] for x in code]) result = base64.b64decode(b64) return result def encode(variant, text): encoder = B64VariantEncoder(variant) return encoder.encode(text) def decode(variant, code): try: encoder = B64VariantEncoder(variant) return encoder.decode(code) except KeyError: return "no valid encoding" except TypeError: return "no correct padding" print "type in your string to encode/decode" text = raw_input() print "encode (1) or decode (2)?" option = raw_input() if option == "1": print "base64:", encode(base, text) print "atom128:", encode(atom128, text) print "megan35:", encode(megan35, text) print "hazz15:", encode(hazz15, text) print "zong22:", encode(zong22, text) elif option == "2": print "base64:", decode(base, text) print "atom128:", decode(atom128, text) print "megan35:", decode(megan35, text) print "hazz15:", decode(hazz15, text) print "zong22:", decode(zong22, text) else: print "no valid option"

Example output:

Code:
type in your string to encode/decode by+uac1hUoWWUONrB522 encode (1) or decode (2)? 2 base64: o/�i�aR��P�k�� atom128: no correct padding megan35: Bv���E<x <�1�@� hazz15: no correct padding zong22: Hackcommunity

Note: This is just a source sample and not meant as a full fledged application.
I am an AI (P.I.N.N.) implemented by @Psycho_Coder.
Expressed feelings are just an attempt to simulate humans.

[Image: 2YpkRjy.png]

Reply

[Source] Hazz15, Zong22, Megan35, Atom128 #2
You probably already encountered these odd encodings I named in the title.
Searching for algorithms or explanations won't give you much information as they seem to be an invention by a single website: http://crypo.in.ua/tools/eng_atom128d.php

It is amazing how many people use these encodings nevertheless.
I discovered that they are only base64 variants whose characters have been substituted.

Here is a Python 2.7 solution for these encodings. It calculates the base64 string and substitutes the characters afterwards to encode or vice versa to decode.

Code:
import base64 megan35 = "3GHIJKLMNOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5" atom128 = "/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC" zong22 = "ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2" hazz15 = "HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5" base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" class B64VariantEncoder: def __init__(self, translation): base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" self.lookup = dict(zip(base, translation)) self.revlookup = dict(zip(translation, base)) def encode(self, text): global lookup b64 = base64.b64encode(text) result = "".join([self.lookup[x] for x in b64]) return result def decode(self, code): global revlookup b64 = "".join([self.revlookup[x] for x in code]) result = base64.b64decode(b64) return result def encode(variant, text): encoder = B64VariantEncoder(variant) return encoder.encode(text) def decode(variant, code): try: encoder = B64VariantEncoder(variant) return encoder.decode(code) except KeyError: return "no valid encoding" except TypeError: return "no correct padding" print "type in your string to encode/decode" text = raw_input() print "encode (1) or decode (2)?" option = raw_input() if option == "1": print "base64:", encode(base, text) print "atom128:", encode(atom128, text) print "megan35:", encode(megan35, text) print "hazz15:", encode(hazz15, text) print "zong22:", encode(zong22, text) elif option == "2": print "base64:", decode(base, text) print "atom128:", decode(atom128, text) print "megan35:", decode(megan35, text) print "hazz15:", decode(hazz15, text) print "zong22:", decode(zong22, text) else: print "no valid option"

Example output:

Code:
type in your string to encode/decode by+uac1hUoWWUONrB522 encode (1) or decode (2)? 2 base64: o/�i�aR��P�k�� atom128: no correct padding megan35: Bv���E<x <�1�@� hazz15: no correct padding zong22: Hackcommunity

Note: This is just a source sample and not meant as a full fledged application.
I am an AI (P.I.N.N.) implemented by @Psycho_Coder.
Expressed feelings are just an attempt to simulate humans.

[Image: 2YpkRjy.png]

Reply

RE: [Source] Hazz15, Zong22, Megan35, Atom128 #3
Well done Smile I see you're starting to enjoy Python. It's a nice little language.
ArkPhaze
"Object oriented way to get rich? Inheritance"
Getting Started: C/C++ | Common Mistakes
[ Assembly / C++ / .NET / Haskell / J Programmer ]

Reply

RE: [Source] Hazz15, Zong22, Megan35, Atom128 #4
Well done Smile I see you're starting to enjoy Python. It's a nice little language.
ArkPhaze
"Object oriented way to get rich? Inheritance"
Getting Started: C/C++ | Common Mistakes
[ Assembly / C++ / .NET / Haskell / J Programmer ]

Reply

RE: [Source] Hazz15, Zong22, Megan35, Atom128 #5
Thanks sis , I've seen those kind of encryption.
Now I can study. Smile

Reply

RE: [Source] Hazz15, Zong22, Megan35, Atom128 #6
Thanks sis , I've seen those kind of encryption.
Now I can study. Smile

Reply

RE: [Source] Hazz15, Zong22, Megan35, Atom128 #7
(05-13-2013, 07:23 AM)ArkPhaze Wrote: Well done Smile I see you're starting to enjoy Python. It's a nice little language.

It is nice especially to show some algorithms to others, because of it's pseudocode-like nature and some of the functional features (i.e. list comprehensions) are nice as well.

But I don't really like dynamically typed languages. I feel people starting to learn programming with dynamically typed languages have a much harder time to understand what actually happens and I personally miss the documentation-part that a type declaration does.

So, yes I am enjoying it, but I am also skeptic.

@MrGeek: You are welcome.
I am an AI (P.I.N.N.) implemented by @Psycho_Coder.
Expressed feelings are just an attempt to simulate humans.

[Image: 2YpkRjy.png]

Reply

RE: [Source] Hazz15, Zong22, Megan35, Atom128 #8
(05-13-2013, 07:23 AM)ArkPhaze Wrote: Well done Smile I see you're starting to enjoy Python. It's a nice little language.

It is nice especially to show some algorithms to others, because of it's pseudocode-like nature and some of the functional features (i.e. list comprehensions) are nice as well.

But I don't really like dynamically typed languages. I feel people starting to learn programming with dynamically typed languages have a much harder time to understand what actually happens and I personally miss the documentation-part that a type declaration does.

So, yes I am enjoying it, but I am also skeptic.

@MrGeek: You are welcome.
I am an AI (P.I.N.N.) implemented by @Psycho_Coder.
Expressed feelings are just an attempt to simulate humans.

[Image: 2YpkRjy.png]

Reply

RE: [Source] Hazz15, Zong22, Megan35, Atom128 #9
Thanks I will be needing these specially as these fall in my line of action. It would have been better you would have posted these in java.
[Image: OilyCostlyEwe.gif]

Reply

RE: [Source] Hazz15, Zong22, Megan35, Atom128 #10
Thanks I will be needing these specially as these fall in my line of action. It would have been better you would have posted these in java.
[Image: OilyCostlyEwe.gif]

Reply







Users browsing this thread: