how to convert md5 hash value as binary bits?

5 visualizzazioni (ultimi 30 giorni)
Megha Nayar
Megha Nayar il 29 Mag 2019
Commentato: Jan il 5 Feb 2021
Hi,
Suppose hash string is YuRtBM.. (something like this), i need it as 000101010 (128 bits because its md5).
  2 Commenti
yougharta ghennai
yougharta ghennai il 5 Feb 2021
any answer for this problem my friend ?
Jan
Jan il 5 Feb 2021
Modificato: Jan il 5 Feb 2021
"(something like this)" is not enough to define the input uniquely. Maybe this is base64?

Accedi per commentare.

Risposte (1)

Jan
Jan il 5 Feb 2021
With the bold guess, that the input is a base64 string:
Out = matlab.net.base64decode('YuRtBM');
Bmat = dec2bin(Out);
Bvec = reshape(Bmat.', 1, []) - '0'
  2 Commenti
yougharta ghennai
yougharta ghennai il 5 Feb 2021
% i find something better than that i gues
hash = 'dc1c320defa535b9d8177fc07ace6481';
%there are 32 chars on hex ==> 2 chars for 1 element .
% ==> we use that and it will give you directly the 128 bits :
binary_hash = hexToBinaryVector(hash);
disp(binary_hash);
% and you will notice it .
Jan
Jan il 5 Feb 2021
In the original question the hash was "YuRtBM..." which is not a hex string.
hexToBinaryVector is part of the Sata Acquisition Toolbox. Without it:
hash = 'dc1c320defa535b9d8177fc07ace6481';
hexToBin(hash)
function bin = hexToBin(hex)
dec = sscanf(hex, '%2x').';
bin = rem(floor(dec ./ pow2(7:-1:0).'), 2); % Auto-expand, >= R2016b
bin = reshape(bin, 1, []);
end

Accedi per commentare.

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by