diff --git a/Decipher.py b/Decipher.py new file mode 100644 index 0000000..696f823 --- /dev/null +++ b/Decipher.py @@ -0,0 +1,230 @@ +import Rainbow +import Db + + +def Decipher(target_hash, desired_length): + rainbow_Cain = Rainbow.Rainbow_Cain(desired_length) + db_Operation = Db.Db_Operation() + + target_str = rainbow_Cain.R10(target_hash) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R9(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R8(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R9(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R7(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R8(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R9(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R6(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R7(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R8(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R9(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R5(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R6(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R7(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R8(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R9(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R4(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R5(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R6(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R7(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R8(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R9(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R3(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R4(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R5(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R6(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R7(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R8(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R9(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R2(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R3(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R4(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R5(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R6(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R7(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R8(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R9(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + target_str = rainbow_Cain.R1(target_hash) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R2(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R3(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R4(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R5(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R6(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R7(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R8(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R9(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R10(hash_code) + reslut = db_Operation.check_string_in_end_str(target_str) + if reslut is None: + return None + else: + return reslut[1] + else: + hash_code = Rainbow.md4(reslut[1]) + return rainbow_Cain.R1(hash_code) + else: + hash_code = Rainbow.md4(reslut[1]) + target_str = rainbow_Cain.R1(hash_code) + hash_code = Rainbow.md4(target_str) + return rainbow_Cain.R2(hash_code) + else: + hash_code = Rainbow.md4(reslut[1]) + target_str = rainbow_Cain.R1(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R2(hash_code) + hash_code = Rainbow.md4(target_str) + return rainbow_Cain.R3(hash_code) + else: + hash_code = Rainbow.md4(reslut[1]) + target_str = rainbow_Cain.R1(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R2(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R3(hash_code) + hash_code = Rainbow.md4(target_str) + return rainbow_Cain.R4(hash_code) + else: + hash_code = Rainbow.md4(reslut[1]) + target_str = rainbow_Cain.R1(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R2(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R3(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R4(hash_code) + hash_code = Rainbow.md4(target_str) + return rainbow_Cain.R5(hash_code) + else: + hash_code = Rainbow.md4(reslut[1]) + target_str = rainbow_Cain.R1(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R2(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R3(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R4(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R5(hash_code) + hash_code = Rainbow.md4(target_str) + return rainbow_Cain.R6(hash_code) + else: + hash_code = Rainbow.md4(reslut[1]) + target_str = rainbow_Cain.R1(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R2(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R3(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R4(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R5(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R6(hash_code) + hash_code = Rainbow.md4(target_str) + return rainbow_Cain.R7(hash_code) + else: + hash_code = Rainbow.md4(reslut[1]) + target_str = rainbow_Cain.R1(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R2(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R3(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R4(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R5(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R6(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R7(hash_code) + hash_code = Rainbow.md4(target_str) + return rainbow_Cain.R8(hash_code) + else: + hash_code = Rainbow.md4(reslut[1]) + target_str = rainbow_Cain.R1(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R2(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R3(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R4(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R5(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R6(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R7(hash_code) + hash_code = Rainbow.md4(target_str) + target_str = rainbow_Cain.R8(hash_code) + hash_code = Rainbow.md4(target_str) + return rainbow_Cain.R9(hash_code)