Simple module for cracking really basically encoded strings.
e.x.
>>> import encdec
>>> cracker = encdec.Cracker()
>>> cracker.encode('this is pretty good', 10) # Encode the string with 10 layers of a random combination of rot13, b64, b32, and b16
([Base32, Base64, Base16, Base16, Base32, Base32, Base16, Base32, Base16, Base16], '343735313334353434373445344135353437333433323534343934453432353634373535333334343439344435413535343834313332343534333445344234323437353135413434343934453532353534383435333235343435344435413533343735323433353434393531354135353439343533323435343534453432353634373531333335343442344534323535343934393541353434353445343334333437353533333434343934453432353634373539333234343437344534413538343735323432343434423445344135353438343535413534344234453432353934373531333235343442344534413536343735393332343434373445343235393437353234323534343934453532353534393535333234343444344534323541343735353541353434373444353235353439353533323435343734453433343234373532343135343442344534413535343935393332353434393445343334333437344435413434343935313532353634373439333234343439344534413536343734443541343434423444354135363437344433323534344234453432354134373444333235343439344634413536343735313332343434423445344135333437353135413534343935313441353534393435333235343444344534333436343735313333343434393446344135363437343935413534343534453433343634373532343235343439344535323535343734443332343434423445343334373437353533323434344234443541353534393439333234353435344534413533343735313332343434423445343235353438343533323534344634453441353434373535333235343439353134413536343735393332343435313445343235363437353133323534344234453441353434373439333234343531344534333432343735353332353434423531344135353437353533323434353334453441353334373444354134343439353235323535343934393332343534333445343334333437353133323534343935323532353634373535333234353433344534413534343735313334353434423444353235353437333433323534344234443541353334373535333335343442344435413536343733343332343435333444354135363437353133333534344234453532353634373535333235343435344534323534343735313334343434393531344135363439343533323435343334453432353734373532343234343442344435323534343734393332343534423445343334343437353234313534343935313532353534373535354135343444344534413535343735323432343434373444353235353439343933323434344434453432353534373535333235343437344435323535343935313332353434373445344135363437353133343534343734453441353534383431333234343442344534323536343735353333343434393444354135353438343133323435343534453441353734373532343335343439344535323535343834353332353434333444354135333437353234333534343935313541353534393435333234353437344534323536343735323434343434423445343235353439343533323534343734453432354134373535354134343439344534323536343735353541353434393445344135343437353535413534344234453441353534383435354135343442344534323536343735353333343434423445344135363437353933323434343734453433343234373532343135343442344535323535343935353332343434443445343334353437353535413434343734443532353534393535333234343446344534333432343735323432343434393445344135353439353933323534343934453441353434373532343234343439353135323536343734393332343434393445344135363437344435413434344234453541353634373444333235343442344534323541343735313333343434393445354135363437353933323534344234453441353734373531354135343439344634323535343934353332353434443445343334353437353533333434343934463441353634373439354135343435344534333437343735323431353434393531344135353439343933323434344234453433343734373532343335343439344435413534343734393332343534353445344135333437353133323534344234453441353434373531333235343433344534413534343735353333343434393446344135343437353533323434344634453441353534373531333335343442344435323535343734443332343534333445343334323437353533333434343935313441353534373539333234343533344534413533343734443541343434423531344135353439344433323435343334453433343334373531333334343439344435413536343735313332343534353444354135333437353234323434344234453532353534373531333235343444344534323534343735353333353434393531353235363437353533323434353334443541353634373531333434343439344534413535343735353332353434443445343334333437353133343434343935313532353634373539333234353442344534323537343735313334353434423445343235353439343933323435344434453432354134373532343135343439353134413536343735353332343534443445344135353437353234313534344234453432353534393439333235343435344534323535343735353332353434373444353235363437343533323534343734453441353634373531333435343437344534413535343834353332353434443445344135363437353533333434343934443541353534373539333234353433344534413537343735323433353434393445353235353439353133323534343534443541353334373532343335343439344535413535343934353332343434373445343235363437353234343434344234453432353634373444333234353435344534333433343735353541343434393445343235363437353933323434343734453441353834373535354135343442344534413535343934353332343534423445343235383437353533333434344234453441353634373539354135343435344534323539343735323431353434423445344135363439343533323434344434453432354134373535354134343437344435323536343734313332343534333445343334323437353234323434343934453441353534393539333235343444344534333433343734443541343434393531353235363437343933323434344634453441353634373444354134343442344535413536343734443332353435333445343235413437344433323534343934463441353634373539333235343437344534413537343735313541353434393446343235353439343533323535343334453432353734373531333334343439353135323536343734393541353434353445343235373437353234323534343935313441353534393439333234343442344435413533343735353332343434393531353235343437343933323435343534453433343234373531333234343442344534413534343734393332343534393445344135343437353533323534343934463441353434373535333234343446344534413536343735353332353434423445353235353437344433323434353134453433343334373535333334343439353234413535343735393332343435333445344135343437353234323434343935323441353534393444333234353433344534333433343735313332353434393532353235363437353133323435343534453442343234373531333435343442344435323535343735313332353434423444354135333437353533333534344234443541353634373539333234343533344435413536343735313334353434423445343235343437343933323534343134453433343234373444333235343439344634323536343735353541353434443445344135353437344435413434343735323432353434393531354135353439334433443344')
>>>
>>> cracker.encode('this decodes a lot faster', 2)
([Base64, Base16], '644768706379426B5A574E765A47567A494745676247393049475A686333526C63673D3D')
>>> cracker.decode('644768706379426B5A574E765A47567A494745676247393049475A686333526C63673D3D', max_levels=2)
Base64 ?;????~??n??{?N??;????;㞻?n;?????;???}??n??~??=?
Base64|Rot-13 ë�;ëÎôë~ýãa�ä{àAúä;ç®ÀãÞ;ã�»ëa;ßÝôãÞ;ä¼ë}÷ça�ë~»Ü=Ã
Base16 dGhpcyBkZWNvZGVzIGEgbG90IGZhc3Rlcg==
Base16|Base64 this decodes a lot faster
Base16|Rot-13 qTucplOxMJAiMTImVTRtoT90VTMup3Eypt==
Rot-13 644768706379426O5N574R765N47567N494745676247393049475N686333526P63673Q3Q
?ot-13|Base64 ?;????~??n???{????;????;㞻?n;?????;??}??n??~??
Rot-13|Rot-13 644768706379426B5A574E765A47567A494745676247393049475A686333526C63673D3D
>>>