What column type/length should I use for storing a Bcrypt hashed password in a Database?

The modular crypt format for bcrypt consists of $2$, $2a$ or $2y$ identifying the hashing algorithm and format a two digit value denoting the cost parameter, followed by $ a 53 characters long base-64-encoded value (they use the alphabet ., /, 0–9, A–Z, a–z that is different to the standard Base 64 Encoding alphabet) consisting … Read more

C++ unordered_map using a custom class type as the key

To be able to use std::unordered_map (or one of the other unordered associative containers) with a user-defined key-type, you need to define two things: A hash function; this must be a class that overrides operator() and calculates the hash value given an object of the key-type. One particularly straight-forward way of doing this is to … Read more

Calculate MD5 checksum for a file

It’s very simple using System.Security.Cryptography.MD5: using (var md5 = MD5.Create()) { using (var stream = File.OpenRead(filename)) { return md5.ComputeHash(stream); } } (I believe that actually the MD5 implementation used doesn’t need to be disposed, but I’d probably still do so anyway.) How you compare the results afterwards is up to you; you can convert the … Read more

Why should hash functions use a prime number modulus?

Usually a simple hash function works by taking the “component parts” of the input (characters in the case of a string), and multiplying them by the powers of some constant, and adding them together in some integer type. So for example a typical (although not especially good) hash of a string might be: (first char) … Read more

node.js hash string?

If you just want to md5 hash a simple string I found this works for me. var crypto = require(‘crypto’); var name=”braitsch”; var hash = crypto.createHash(‘md5’).update(name).digest(‘hex’); console.log(hash); // 9b74c9897bac770ffc029102a200c5de

Fundamental difference between Hashing and Encryption algorithms

Well, you could look it up in Wikipedia… But since you want an explanation, I’ll do my best here: Hash Functions They provide a mapping between an arbitrary length input, and a (usually) fixed length (or smaller length) output. It can be anything from a simple crc32, to a full blown cryptographic hash function such … Read more

Why does Java’s hashCode() in String use 31 as a multiplier?

According to Joshua Bloch’s Effective Java (a book that can’t be recommended enough, and which I bought thanks to continual mentions on stackoverflow): The value 31 was chosen because it is an odd prime. If it were even and the multiplication overflowed, information would be lost, as multiplication by 2 is equivalent to shifting. The … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)