how to convert md5 hash value as binary bits?

5 vues (au cours des 30 derniers jours)
Megha Nayar
Megha Nayar le 29 Mai 2019
Commenté : Jan le 5 Fév 2021
Hi,
Suppose hash string is YuRtBM.. (something like this), i need it as 000101010 (128 bits because its md5).
  2 commentaires
yougharta ghennai
yougharta ghennai le 5 Fév 2021
any answer for this problem my friend ?
Jan
Jan le 5 Fév 2021
Modifié(e) : Jan le 5 Fév 2021
"(something like this)" is not enough to define the input uniquely. Maybe this is base64?

Connectez-vous pour commenter.

Réponses (1)

Jan
Jan le 5 Fév 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 commentaires
yougharta ghennai
yougharta ghennai le 5 Fév 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 le 5 Fév 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by