How to compute the hash of a string using SHA algorithms

136 visualizaciones (últimos 30 días)
Buddhini Angelika
Buddhini Angelika el 27 de En. de 2016
Comentada: javad danesh el 23 de Ag. de 2021
Please tell me the set of codes/commands to be typed to compute the hash value of a string using SHA-1 hash and SHA-256 hash in MATLAB R2013a. Will the resultant when the hash is applied be a integer? If not please tell me the way to convert the resultant to an integer as well.
Please tell the answers seperately for SHA-1 hash and SHA-256 hash.
Please help me with the above question.
Thanks a lot in advance.

Respuestas (2)

Guillaume
Guillaume el 27 de En. de 2016
There are no functions in matlab to calculate hashes. However, you can call Java (any OS) or .Net (Windows only) functions directly from matlab and either of these implement what you want.
Note that you haven't specified the encoding of the string. The hash is different if you consider the string in ASCII, UTF8, UTF16, etc.
Also note that matlab does not have 160-bit or 256-bit integer, so the hash can't obviously be a single integer.
Anyway, using .Net:
string = 'some string';
sha256hasher = System.Security.Cryptography.SHA256Managed;
sha256 = uint8(sha256hasher.ComputeHash(uint8(string))); %consider the string as 8-bit characters
%display as hex:
dec2hex(sha256)
sha1hasher = System.Security.Cryptography.SHA1Managed;
sha1= uint8(sha1hasher.ComputeHash(uint8(string))); %consider the string as 8-bit characters
%display as hex:
dec2hex(sha1)
If you want to use Java you'll have to figure out that for yourself.
  2 comentarios
Yumnam Kirani
Yumnam Kirani el 4 de Jul. de 2019
Thank you for the useful solution!
javad danesh
javad danesh el 23 de Ag. de 2021
Hi, what code should we use to input images to see the image hash output?

Iniciar sesión para comentar.


Oliver Woodford
Oliver Woodford el 5 de Mayo de 2016
Editada: Oliver Woodford el 5 de Mayo de 2016
The Java-based solution can be found here .

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by