|
No, it's not. MD5 is a one way hash; in other words, you can't "decrypt" it.
|
|
|
|
|
|
|
Considering MD5 is a lossy hash, there's no way to reverse the hash into what created it. It's entirely possible to have to pieces of source material hash into the exact same value.
|
|
|
|
|
Hash is not intended to be lossless. Therefore you can never guarantee that it can be reversed.
|
|
|
|
|
Sure, do you have the private key? or just tons of time a processing power.
|
|
|
|
|
Do you know how MD5 works?? You cannot reverse the hash to get the original content, even with the private key.
|
|
|
|
|
Yes and just because no one has yet decrypted MD5 doesn't mean that it is unbreakable.
If you take the RSA project as an example then you know that any encrypted string can be decrypted.
The hash function takes a know input in a known form(email address) and performs the function to generate the hash. The are very few functions that do not have a proof and you can use random numbers to try an generate a solution also, email addresses are also in a standard format in me@your.us.com there is an "@" and a period before the teminating string and there are limited terminating strings. So if you know the form of the data and the length or max length and the general properties of an email address and the general properties of the hash function you can decrypt the hash given the time. DO NOT CONFUSE what is unbreakable with what is not yet broken.
You can down vote whatever you feel like but a hash is just a function that is yet to be proven or cracked
modified 20-Nov-12 13:57pm.
|
|
|
|
|
Mathlab wrote: no one has yet decrypted MD5 doesn't mean that it is unbreakable
Noone has done it because MD5 is NOT an encryption! It's a lossy, cryptographic hash.
There is no way to get the original content back from the hash. This is especially true since it is known that multiple, very different, sources can generate the exact same hash value. So, how are you going to determine which one was the original content?
There is no way to do this in any way that anyone would consider "production quality code".
|
|
|
|
|
You can use a lossy but even then you know that its a function, you know the form of the string and you can just input random numbers to start. Its not impossible it just impossible right now and even if its a lossy some of the chaacteristics of the email address are used to create the hash.
|
|
|
|
|
The hash function takes a know input in a known form(email address) and performs the function to generate the hash. The are very few functions that do not have a proof and you can use random numbers to try an generate a solution also, email addresses are also in a standard format in me@your.us.com there is an "@" and a period before the teminating string and there are limited terminating strings. So if you know the form of the data and the length or max length and the general properties of an email address and the general properties of the hash function you can decrypt the hash given the time. DO NOT CONFUSE what is unbreakable with what is not yet broken.
You can down vote whatever you feel like but a hash is just a function that is yet to be proven or cracked
|
|
|
|
|
I didn't downvote you.
Re-read the OP's question. Is there some way to get the original email address back from the MD5 hash, TODAY. The answer to his question is "no".
I also have to question the motivation for such an action. If this person had access to a database where the MD5 hash values were exposed and he didn't own the data, it's a security breach that I'm not going to help him with. So, even if the technique did exist today, the answer is still "no".
|
|
|
|
|
He didnt say "today" so you read the question, and the world wasnt made in a day
|
|
|
|
|
It's obviously implied from the context of the question.
What's with you?
|
|
|
|
|
I could ask the same question of you
|
|
|
|
|
On top of all of it you can limit the number of values by DFSing the net for email servers to limit your variables.
|
|
|
|
|
|
Its not my project, I am just offering suggestions on how to go about a difficult situation. You were a great help
|
|
|
|
|
You can try. But it's very processor/time intensive and even when you find a string that looks like an email address and has the correct MD5 hash, it may still not be the original address.
But you can do better than "nothing", which appears to be what most people are advocating.
Obtain a huge list of email addresses somewhere, and see if any of them match your hashes.
Look into oclHashcat. You can get it to test only strings that look like plausible email addresses. Email addresses are notorious for having much valid variation, but most will look like "asciichars@some_known_email_provider". Where the "asciichars" part is likely to contain words/names plus digits, underscores and dots. So don't use brute force, be smart. Use dictionaries of words+names and patterns.
|
|
|
|
|
Hello all,
I'm new here and it's a first time that i ask for help to the community. I'm also new in C sharp but i try to manage and learn on the way.
I would like to have some help to understand how to write a Process for windows with wich i can communicate with my winform.
i made an winform application which permit me to retrive some data from Active directory and also some other data from computers on the network "using powerShell" and a AD class.
For some reasons i can't grab a correct information about ex: shared Printers, cose the PowerShell give me a output of the computer printers, not user printers. It was a simple exemple.
so i decide to write a Process wich i want to upload and install on a remote computer, till here i can manage that.
what i would like to understand and if you can show me a little exemple, it's how to add some functions to this process and get the output of this function back to my Winform.
as exemple:
1.in my Winform a make a remote call to the process and ask him to give me the list of all printers installed.
2. show the output in a lisbox for exemple.
I would like to tell you thank you in advance for you help
|
|
|
|
|
tdcmystere wrote: 1.in my Winform a make a remote call to the process and ask him to give me the list of all printers installed.
2. show the output in a lisbox for exemple.
We can abstract the question to "how do I get data from PC1 to PC2". The recommendation would be to look into WCF, but any type of exchange-mechanism would do- there's examples on communicating using sockets, but it'd even be possible using simple files.
Are the computers on the same LAN? If yes, I'd go for a simple socket
|
|
|
|
|
Thank you for response
Yes all Computers are nearly on the same network inside a Active directory.
it's about 9K of computers.
|
|
|
|
|
Make that a multithreaded client/server, based on TCP/IP. Alternatively, you can write files to an UNC-share - might be easier to code, will be a bit harder to maintain.
|
|
|
|
|
in my question i ask to provide me " shure if it possible" a little exemple how to pass a command and give back a response "data".
i don't ask a whole code i want to learn but a little help will be much appreciate.
Thank you
PS: sorry for my english
|
|
|
|
|
There's a client/server example on MSDN[^]. Be sure to check out the hyperlinks at the bottom of the page.
|
|
|
|