src/sha_dev.js
function safeAdd_32_5(a, b, c, d, e)
	{
		var lsw = (a & 0xFFFF) + (b & 0xFFFF) + (c & 0xFFFF) + (d & 0xFFFF) +
				(e & 0xFFFF),
			msw = (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) +
				(e >>> 16) + (lsw >>> 16);

		return ((msw & 0xFFFF) << 16) | (lsw & 0xFFFF);
	}
function safeAdd_32_5(a, b, c, d, e)
	{
		var lsw = (a & 0xFFFF) + (b & 0xFFFF) + (c & 0xFFFF) + (d & 0xFFFF) +
				(e & 0xFFFF),
			msw = (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) +
				(e >>> 16) + (lsw >>> 16);

		return ((msw & 0xFFFF) << 16) | (lsw & 0xFFFF);
	}
function safeAdd_32_5 ( a , b , c , d , e ) { var lsw = ( a & 0xFFFF ) + ( b & 0xFFFF ) + ( c & 0xFFFF ) + ( d & 0xFFFF ) + ( e & 0xFFFF ) , msw = ( a >>> 16 ) + ( b >>> 16 ) + ( c >>> 16 ) + ( d >>> 16 ) + ( e >>> 16 ) + ( lsw >>> 16 ) ; return ( ( msw & 0xFFFF ) << 16 ) | ( lsw & 0xFFFF ) ; }
Add five 32-bit integers, wrapping at 2^32. This uses 16-bit operations
internally to work around bugs in some JS interpreters.

@private
@param {number} a The first 32-bit integer argument to be added
@param {number} b The second 32-bit integer argument to be added
@param {number} c The third 32-bit integer argument to be added
@param {number} d The fourth 32-bit integer argument to be added
@param {number} e The fifth 32-bit integer argument to be added
@return {number} The sum of a + b + c + d + e
Add five 32 - bit integers wrapping at 2^32 . This uses 16 - bit operations internally to work around bugs in some JS interpreters .