File tree Expand file tree Collapse file tree 1 file changed +7
-8
lines changed Expand file tree Collapse file tree 1 file changed +7
-8
lines changed Original file line number Diff line number Diff line change 2525fid = fopen(file , ' r' );
2626assert(fid > 1 , " could not open file %s" , file )
2727
28-
2928if stdlib .has_dotnet()
29+
3030 inst = System .Security .Cryptography .HashAlgorithm .Create(method );
3131 while ~feof(fid )
3232 % https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.hashalgorithm.computehash
3333 inst .ComputeHash(fread(fid , file_chunk , ' *uint8' ));
3434 end
35+ h = uint8(inst .Hash );
36+
3537elseif stdlib .has_java()
38+
3639 inst = javaMethod(" getInstance" , " java.security.MessageDigest" , method );
3740 while ~feof(fid )
3841 % https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/security/MessageDigest.html#update(byte)
3942 inst .update(fread(fid , file_chunk , ' *uint8' ));
4043 end
44+ % https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/security/MessageDigest.html#digest()
45+ h = typecast(inst .digest , ' uint8' );
46+
4147else
4248 error(' no supported hash method found, please install .NET or Java' )
4349end
4450
4551fclose(fid );
4652
47- if stdlib .has_dotnet()
48- h = uint8(inst .Hash );
49- elseif stdlib .has_java()
50- % https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/security/MessageDigest.html#digest()
51- h = typecast(inst .digest , ' uint8' );
52- end
53-
5453hash = sprintf(' %.2x ' , h );
5554
5655end
You can’t perform that action at this time.
0 commit comments