anchor.diff:  inner_loop(T, {A,B,C,D,E}, Ws) ->
   	Temp = add([rotl(5, A), f(T, B,C,D), E, nth(1+T, Ws), k(T)]),
   	inner_loop(T+1, {Temp, A, rotl(30, B), C, D}, Ws).
  -	
  +
  
positive.code: %%% SHA-1 module
  %%% Author: Nicolas Favre-Felix - n.favrefelix#gmail.com
  %%% License: Lesser GPL (LGPL) v2
  %%% 
  %%% exports binstring(Str), hexstring(Str). binstring/1 returns the hash as
  %%% a binary, hexstring/1 as an erlang string, uppercase.
  %%% in case of failure, the returned value is {error, Something}.
  
negative.code: %hexfile(S) -> fun_apply(S, fun read_unsafe/1, fun bin2hex/1).
  
  fun_apply(S, FunRead, FunTransform) ->
  	case catch binstring_unsafe(FunRead(S)) of
  		{'EXIT', Stuff} -> {error, Stuff};
  		Data -> FunTransform(Data)
  	end.
  
  bin2hex(B) ->
  	L = binary_to_list(B),
  	LH0 = map(fun(X)->erlang:integer_to_list(X,16) end, L),
  	LH = map(fun([X,Y])->[X,Y];([X])->[$0,X] end, LH0), % add zeros
  	lists:flatten(LH).
  
  binstring_unsafe(S) ->
  	X = pad_str(S),
  	N = length(erlang:binary_to_list(X)) div 64,
  	Hs = {16#67452301, 16#EFCDAB89, 16#98BADCFE, 16#10325476, 16#C3D2E1F0},
  	compute(X, N, Hs).
  
  