ff a, b, c, d, x(8), s11, 1770035416
ff d, a, b, c, x(9), s12, -1958414417
ff c, d, a, b, x(10), s13, -42063
ff b, c, d, a, x(11), s14, -1990404162
ff a, b, c, d, x(12), s11, 1804603682
ff d, a, b, c, x(13), s12, -40341101
ff c, d, a, b, x(14), s13, -1502002290
ff b, c, d, a, x(15), s14, 1236535329
' round 2
gg a, b, c, d, x(1), s21, -165796510
gg d, a, b, c, x(6), s22, -1069501632
gg c, d, a, b, x(11), s23, 643717713
gg b, c, d, a, x(0), s24, -373897302
gg a, b, c, d, x(5), s21, -701558691
gg d, a, b, c, x(10), s22, 38016083
gg c, d, a, b, x(15), s23, -660478335
gg b, c, d, a, x(4), s24, -405537848
gg a, b, c, d, x(9), s21, 568446438
gg d, a, b, c, x(14), s22, -1019803690
gg c, d, a, b, x(3), s23, -187363961
gg b, c, d, a, x(8), s24, 1163531501
gg a, b, c, d, x(13), s21, -1444681467
gg d, a, b, c, x(2), s22, -51403784
gg c, d, a, b, x(7), s23, 1735328473
gg b, c, d, a, x(12), s24, -1926607734
' round 3
hh a, b, c, d, x(5), s31, -378558
hh d, a, b, c, x(8), s32, -2022574463
hh c, d, a, b, x(11), s33, 1839030562
hh b, c, d, a, x(14), s34, -35309556
hh a, b, c, d, x(1), s31, -1530992060
hh d, a, b, c, x(4), s32, 1272893353
hh c, d, a, b, x(7), s33, -155497632
hh b, c, d, a, x(10), s34, -1094730640
hh a, b, c, d, x(13), s31, 681279174
hh d, a, b, c, x(0), s32, -358537222
hh c, d, a, b, x(3), s33, -722521979
hh b, c, d, a, x(6), s34, 76029189
hh a, b, c, d, x(9), s31, -640364487
hh d, a, b, c, x(12), s32, -421815835
hh c, d, a, b, x(15), s33, 530742520
hh b, c, d, a, x(2), s34, -995338651
' round 4
ii a, b, c, d, x(0), s41, -198630844
ii d, a, b, c, x(7), s42, 1126891415
ii c, d, a, b, x(14), s43, -1416354905
ii b, c, d, a, x(5), s44, -57434055
ii a, b, c, d, x(12), s41, 1700485571
ii d, a, b, c, x(3), s42, -1894986606
ii c, d, a, b, x(10), s43, -1051523
ii b, c, d, a, x(1), s44, -2054922799
ii a, b, c, d, x(8), s41, 1873313359
ii d, a, b, c, x(15), s42, -30611744
ii c, d, a, b, x(6), s43, -1560198380
ii b, c, d, a, x(13), s44, 1309151649
ii a, b, c, d, x(4), s41, -145523070
ii d, a, b, c, x(11), s42, -1120210379
ii c, d, a, b, x(2), s43, 718787259
ii b, c, d, a, x(9), s44, -343485551
state(1) = longoverflowadd(state(1), a)
state(2) = longoverflowadd(state(2), b)
state(3) = longoverflowadd(state(3), c)
state(4) = longoverflowadd(state(4), d)
' /* zeroize sensitive information.
'*/
' md5_memset ((pointer)x, 0, sizeof (x));
end sub
private sub decode(length as integer, outputbuffer() as long, inputbuffer() as byte)
dim intdblindex as integer
dim intbyteindex as integer
dim dblsum as double
intdblindex = 0
for intbyteindex = 0 to length - 1 step 4
dblsum = inputbuffer(intbyteindex) + _
inputbuffer(intbyteindex + 1) * 256# + _
inputbuffer(intbyteindex + 2) * 65536# + _