uni.BouncyCastle-JCA.3.1.1.source-code.MessageDigest.crysl Maven / Gradle / Ivy
SPEC java.security.MessageDigest
OBJECTS
java.lang.String algorithm;
byte preInputByte;
byte[] preInput;
int preOffset;
int preLen;
java.nio.ByteBuffer preInputByteBuffer;
byte[] input;
int offset;
int len;
byte[] output;
EVENTS
g1: getInstance(algorithm);
g2: getInstance(algorithm, _);
Get := g1 | g2;
u1: update(preInputByte);
u2: update(preInput);
u3: update(preInput, preOffset, preLen);
u4: update(preInputByteBuffer);
Update := u1 | u2 | u3 | u4;
d1: output = digest();
d2: output = digest(input);
d3: digest(output, offset, len);
DWOU := d2;
DWU := d1 | d3;
Digest := DWU | DWOU;
ORDER
Get, (DWOU | (Update+, Digest))+
CONSTRAINTS
algorithm in {"SHA-256", "SHA-384", "SHA-512", "SHA-512/256", "SHA3-256", "SHA3-384", "SHA3-512",
"BLAKE2B-256", "BLAKE2B-384", "BLAKE2B-512", "BLAKE2S-256",
"KECCAK-256", "KECCAK-384", "KECCAK-512",
"WHIRLPOOL"};
length[preInput] >= preLen + preOffset;
preOffset >= 0;
preLen > 0;
length[output] >= len + offset;
offset >= 0;
len > 0;
ENSURES
generatedMessageDigest[this] after Get;
digested[output, _];
digested[output, input];
© 2015 - 2025 Weber Informatics LLC | Privacy Policy