Auswertung Experiment
Database tüddelei DBHanlder läuft gut für DIESE Datanbank struktur... App begonnen aber weit entfernt von gutem Stand
This commit is contained in:
35
Libs/mat2tikz/test/private/calculateMD5Hash.m
Normal file
35
Libs/mat2tikz/test/private/calculateMD5Hash.m
Normal file
@@ -0,0 +1,35 @@
|
||||
function hash = calculateMD5Hash(filename)
|
||||
% CALCULATEMD5HASH calculate a MD5 hash of a file
|
||||
%
|
||||
% This functionality is built-in into Octave but uses Java in MATLAB.
|
||||
|
||||
switch getEnvironment
|
||||
case 'Octave'
|
||||
hash = md5sum(filename);
|
||||
|
||||
case 'MATLAB'
|
||||
% There are some MD5 implementations in MATLAB, but those
|
||||
% tend to be slow and licensing is unclear.
|
||||
% Rolling our own implementation is unwanted, especially since this
|
||||
% is a cryptographic hash, even though its security has been
|
||||
% broken. Instead we make use of the Java libraries.
|
||||
% Unless the "-nojvm" flag is specified, this should work well.
|
||||
|
||||
MD5 = java.security.MessageDigest.getInstance('MD5');
|
||||
|
||||
% Open the file
|
||||
fid = fopen(filename, 'r');
|
||||
|
||||
% Make sure fid is closed
|
||||
finally_close = onCleanup(@()fclose(fid));
|
||||
|
||||
% Faster file digest based on code by Jan Simon as in
|
||||
% http://www.mathworks.com/matlabcentral/fileexchange/31272-datahash
|
||||
data = fread(fid, '*uint8');
|
||||
MD5.update(data);
|
||||
|
||||
hash = reshape(dec2hex(typecast(MD5.digest(),'uint8')).', 1, 32);
|
||||
end
|
||||
|
||||
hash = lower(hash);
|
||||
end
|
||||
Reference in New Issue
Block a user