Jun 12, 2014 01:03 PM (This post was last modified: Jun 12, 2014 01:40 PM by zeroexp.)
Hello community, i came out with something new today.. a hashing algorithm. Of course it may need a little bit more work so don't be hateful if you reply... After all , nothing's perfect. Let's get to it.
It took a lot of time for me to think how to make it irreversible and finally figured it out. In my opinion I think I did a pretty good job as the hash depends on a lot of different factors. 😁
I made a program for the hashing process AND a DLL so you can use it yourself . Let's start.
Thanks for reading ! 👍 Leave a reply if you think something is wrong , have a problem or have a suggestion. I read everything because I'm still trying to learn... I'm a newbie in VB.NET :P
Jun 12, 2014 01:49 PM (This post was last modified: Jun 12, 2014 01:50 PM by ubbelol.)
Do you really need such a big thread and everything for just this? :p Either way, always good to see releases. But why are you returning an "object" when it's always a string? Also is there some documentation about this hash somewhere? I haven't heard of it before.
@Tweety. - I created it ... I just chose a random 3 letter name because that's how most algorithms are called
@Zettabit - It's not really an obfuscator but i got used to do that every time even if i don't post a program. Well, i don't know , i will try to update this if i can and make it better but i have my final exams in a week.
But it just seems unnecessary. You could've just created a string, because technically strings are character arrays.
Anyways, no offence, but it seems poorly coded. It looks like you spent more time on the GUI than the actual function itself.
Would be cool if you added some information to this as of how this works, why you choose to code on this
What advantages it has over other hashing algorithms, etc..
I honestly think though that it has a way bigger collision ratio, is slower, and might be reversible..
Im not trying to be mean, but why did you create this if all other hashing methods are just better?
I see no point in someone using this, if other methods are just better...
Did it so i can learn more about this stuff. You learn a lot from practice so ... i just tried to do sth different from what i did before. ^_^ I also wanted some replies because i know HF has some of the best critics ever xD You're not being mean, i enjoy reading every reply.
Jun 13, 2014 03:02 PM (This post was last modified: Jun 13, 2014 03:16 PM by LordCoder.)
Your hashing function can be partially reversed. It isn't a perfect hashing function as it just converts and deletes some parts of the original string. But you can test it with the same kind of letter.
Hash of "a": bz791
Hash of "aa": bz791b91 (just added b91 lol)
This can cause a collision between 2 strings. And this hashing doesn't have the avalanche effect which is normally seen in SHA or MD5 as you see above.
Using Math.Round you just can make it "irreversible" but using a dictionary is most like an encoding.
EDIT: Found a collision with your hash.
Hash of "abcd": n2z71d41c7b91
Hash of "azcd": n2z71d41c7b91
Used a basic brute forcer I've just created: https://www.firedrive.com/file/B346C237C6BB9FEC
[img]http://s25.postimg.org/hk3qxhpv3/2014_06_14_00_14_43_2014_06_14_00_14_07_Windows.png[/img]