It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
import hashlib
import time
from itertools import product
import string
def ripemd160(data):
"""
Compute the RIPEMD-160 hash of the given data.
"""
h = hashlib.new('ripemd160')
h.update(data.encode('utf-8'))
return h.hexdigest()
def brute_force_ripemd160(target_hash, max_length=5):
"""
Simulate brute-forcing a RIPEMD-160 hash.
Test all combinations of characters up to a given length.
"""
characters = string.ascii_letters + string.digits
start_time = time.time()
attempt_count = 0 # Track number of attempts
print(f"Brute-forcing RIPEMD-160 hash: {target_hash}")
print(f"Using characters: {characters}")
# Brute-force attempt
for length in range(1, max_length + 1):
print(f"\nTesting all combinations of length: {length}")
for attempt in product(characters, repeat=length):
attempt_count += 1
guess = ''.join(attempt)
guess_hash = ripemd160(guess)
# Show progress every 100,000 attempts
if attempt_count % 100000 == 0:
elapsed_time = time.time() - start_time
print(f"Attempts: {attempt_count:,} | Time elapsed: {elapsed_time:.2f} seconds")
if guess_hash.upper() == target_hash.upper():
elapsed_time = time.time() - start_time
print(f"\nMatch found: {guess}")
print(f"Attempts: {attempt_count:,}")
print(f"Time taken: {elapsed_time:.2f} seconds")
return guess
elapsed_time = time.time() - start_time
print(f"\nNo match found within {max_length}-character keyspace.")
print(f"Total attempts: {attempt_count:,}")
print(f"Time taken: {elapsed_time:.2f} seconds")
return None
target_hash = "1234567890123456789012345678912345678..." # Replace with your hash
print(f"Target Hash: {target_hash}")
# Run the brute-force simulation
brute_force_ripemd160(target_hash, max_length=5)
import hashlib
import time
from itertools import product
import string
def ripemd160(data):
"""
Compute the RIPEMD-160 hash of the given data.
"""
h = hashlib.new('ripemd160')
h.update(data.encode('utf-8'))
return h.hexdigest()
def brute_force_ripemd160(target_hash, max_length=5):
"""
Simulate brute-forcing a RIPEMD-160 hash.
Test all combinations of characters up to a given length.
"""
characters = string.ascii_letters + string.digits
start_time = time.time()
attempt_count = 0 # Track number of attempts
print(f"Brute-forcing RIPEMD-160 hash: {target_hash}")
print(f"Using characters: {characters}")
# Brute-force attempt
for length in range(1, max_length + 1):
print(f"\nTesting all combinations of length: {length}")
for attempt in product(characters, repeat=length):
attempt_count += 1
guess = ''.join(attempt)
guess_hash = ripemd160(guess)
# Show progress every 100,000 attempts
if attempt_count % 100000 == 0:
elapsed_time = time.time() - start_time
print(f"Attempts: {attempt_count:,} | Time elapsed: {elapsed_time:.2f} seconds")
if guess_hash.upper() == target_hash.upper():
elapsed_time = time.time() - start_time
print(f"\nMatch found: {guess}")
print(f"Attempts: {attempt_count:,}")
print(f"Time taken: {elapsed_time:.2f} seconds")
return guess
elapsed_time = time.time() - start_time
print(f"\nNo match found within {max_length}-character keyspace.")
print(f"Total attempts: {attempt_count:,}")
print(f"Time taken: {elapsed_time:.2f} seconds")
return None
target_hash = "1234567890123456789012345678912345678..." # Replace with your hash
print(f"Target Hash: {target_hash}")
# Run the brute-force simulation
brute_force_ripemd160(target_hash, max_length=5)
import hashlib
import time
from itertools import product
import string
def ripemd160(data):
"""
Compute the RIPEMD-160 hash of the given data.
"""
h = hashlib.new('ripemd160')
h.update(data.encode('utf-8'))
return h.hexdigest()
def brute_force_ripemd160(target_hash, max_length=5):
"""
Simulate brute-forcing a RIPEMD-160 hash.
Test all combinations of characters up to a given length.
"""
characters = string.ascii_letters + string.digits
start_time = time.time()
attempt_count = 0 # Track number of attempts
print(f"Brute-forcing RIPEMD-160 hash: {target_hash}")
print(f"Using characters: {characters}")
# Brute-force attempt
for length in range(1, max_length + 1):
print(f"\nTesting all combinations of length: {length}")
for attempt in product(characters, repeat=length):
attempt_count += 1
guess = ''.join(attempt)
guess_hash = ripemd160(guess)
# Show progress every 100,000 attempts
if attempt_count % 100000 == 0:
elapsed_time = time.time() - start_time
print(f"Attempts: {attempt_count:,} | Time elapsed: {elapsed_time:.2f} seconds")
if guess_hash.upper() == target_hash.upper():
elapsed_time = time.time() - start_time
print(f"\nMatch found: {guess}")
print(f"Attempts: {attempt_count:,}")
print(f"Time taken: {elapsed_time:.2f} seconds")
return guess
elapsed_time = time.time() - start_time
print(f"\nNo match found within {max_length}-character keyspace.")
print(f"Total attempts: {attempt_count:,}")
print(f"Time taken: {elapsed_time:.2f} seconds")
return None
target_hash = "1234567890123456789012345678912345678..." # Replace with your hash
print(f"Target Hash: {target_hash}")
# Run the brute-force simulation
brute_force_ripemd160(target_hash, max_length=5)
Without First char....
Mode: MD5
Text: madhow
Hash: 53b1d1f19dde716e9354a7de820a7c5e
Mark: ^^^^^^^^
Puzz 36: 9DE820A7C
Mode: SHA224
Text: wetlips21
Hash: e6180b64a65911ded896d33409736532ea063845d0839be39f177718
Mark: ^^^^^^^^
Puzz 34: 34A65911D
Mode: SHA384
Text: niceeyez<3
Hash: 4b9ae4933d68dfe4adbf6ae2474946e139e576902c5d026f3e404e5e16b3624361d2fa901380df2 af1c54538bce8431d
Mark: ^^^^^^^^^
Puzz 40: E9AE4933D6
Mode: SHA384
Text: annaisme360
Hash: 63a1a508df52d49d8420860e9f1e83e38cdbfe80f1c9eb8b64a65911df648a0cd3c3bc3ced80476 e4532dd670bb9cb72
Mark: ^^^^^^^^
Puzz 34: 34A65911D
Mode: SHA384
Text: 27431741
Hash: 30ee1869f667fe732b9f730f02df552382facd0a2756ed139c59d6e91489747e7d820f56674d613 f57bc5b656ed39d68
Mark: ^^^^^^^^^
Puzz 38: 22382FACD0
Mode: SHA512
Text: marvelous08
Hash: f6fc1ee7b2318450017462a9d437e641984a1bd73614bde820a7cb390d67dbe2ebb33272ddc4b2f 639d93b42934570625241ffd60e87b3179984976d6621e753
Math: ^^^^^^^^
Puzz 36: 9DE820A7C
Mode: BLAKE2B
Text: jeannette01
Hash: dea924ec2ab4df823149a73760218a96ca8d8e2e5e64600ed7ab6cbacbd445b9f4214aef5b9d256 fa4f0fa9d4796484487557906b30b9fd2c0fac43933b70b24
Mark: ^^^^^^^^
Puzz 33: 1A96CA8D8
Mode: BLAKE2S
Text: 1ponyaholic2
Hash: 8a439c2cd4b228ddba84848996cad5b5f8303e903f0e755827a91d0586a6f289
Mark: ^^^^^^^^^
Puzz 39: 4B5F8303E9
Without Last char....
Mode : MD5
Text : jjjkkj3
Hash : a93522c314e69de820a73af0416bddb8
Mark : ^^^^^^^^
Puzz 36: 9DE820A7C
Mode : SHA1
Text : 1killu
Hash : 80c74a39b5ca25357bd4b2034e86084aed21179f
Mark : ^^^^^^^^
Puzz 35: 4AED21170
Mode : SHA256
Text : polly422
Hash : 18f39914467f0192292eab3d3b558f2f34a659111060237925e203df3f681346
Mark : ^^^^^^^^
Puzz 34: 34A65911D
Mode : SHA384
Text : 890989ooh
Hash : 2e772e72aafc3b0dddf538787f640ac39278caa5ed2335e386bed701af586cafb4b34a65911a540 35d39924b2661c1cf
Mark : ^^^^^^^^
Puzz 34: 34A65911D
Mode : SHA512
Text : pungkong
Hash : ed0624499b03e725a715cf1a96ca8dc0aba0d04ccc0ffe5e5ee96ffcc317d4401b479bc6b2c6377 2c7ef8c5670e882421febb3549c494f04b97072eea2a1b3c4
Mark : ^^^^^^^^
Puzz 33: 1A96CA8D8
Mode : SHA512
Text : 18killerbee
Hash : dd0572168d6680e5104b95d06a4b92e5c230256b88fc30882b4554d0aa957227ad6c3ae1dba1a91 901a96ca8d6d6d81562756ab5f71654de2e74a14e401457b1
Mark : ^^^^^^^^
Puzz 33: 1A96CA8D8
Mode : BLAKE2B
Text : lorenzoastigpogi
Hash : 5938d84d54497f51c8e26314e2df72a25b8ce9fa9ccd08a49fde4201f0934daad106f737bec72ab 888c6751fc63187575cc5c7887ea34a65911cee5695123e8d
Mark : ^^^^^^^^
Puzz 34: 34A65911D