linux/crypto/sha1_generic.c
<<
n va6.3/spa 6.3/form 6.3a n va6. href="../linux+v32.62/crypto/sha1_generic.c">n va6.3img src="../.static/gfx/right.png" alt=">>">n 3/spa n 3spa class="lxr_search">n va ="+search" method="post" onsubmit="return do_search(this);">n va6.3input typn> hidden" namn> navtarget" ption> ">n va6.3input typn> text" namn> search" id> search">n va6.3butt submit">Searchn va6.Prefs 6.3/a>n 3/spa va6. .3/div va6. .3form ac > ="ajax+*" method="post" onsubmit="return false;">n 3input typn> hidden" namn> ajax_lookup" id> ajax_lookup" ption> ">nva6. .3/form nva6. .3div class="headingbott
search_results" class="search_results" 6 va6. .3/div 3div id> content"> 3div id> file_contents"
74/84/7fec7a63a08634a0a7b43eeb55930e5055c0_3/0" 
L1" class="line" namn>
L1">. .13/a>3spa
 class="comment">/*3/spa
  
L2" class="line" namn>
L2">. .23/a>3spa
 class="comment"> * Cryptographic API.3/spa
  
L3" class="line" namn>
L3">. .33/a>3spa
 class="comment"> *3/spa
  
L4" class="line" namn>
L4">. .43/a>3spa
 class="comment"> * SHA1 Secure Hash Algorithm.3/spa
  
L5" class="line" namn>
L5">. .53/a>3spa
 class="comment"> *3/spa
  
L6" class="line" namn>
L6">. .63/a>3spa
 class="comment"> * Derived from cryptoapi implementa  >
, adapted for in-place3/spa
  
L7" class="line" namn>
L7">. .73/a>3spa
 class="comment"> * scatterlist interface.3/spa
  
L8" class="line" namn>
L8">. .83/a>3spa
 class="comment"> *3/spa
  
L9" class="line" namn>
L9">. .93/a>3spa
 class="comment"> * Copyright (c) Ala
 Smithee.3/spa
  
L10" class="line" namn>
L10">. .ue=a>3spa
 class="comment"> * Copyright (c) Andrew McDonald <andrew@mcdonald.org.uk>3/spa
  
L11" class="line" namn>
L11">. 113/a>3spa
 class="comment"> * Copyright (c) Jean-Francois Dive <jef@linuxbe.org>3/spa
  
L12" class="line" namn>
L12">. 123/a>3spa
 class="comment"> *3/spa
  
L13" class="line" namn>
L13">. 133/a>3spa
 class="comment"> * This program is free software; you ca
 redistribute it and/or modify it3/spa
  
L14" class="line" namn>
L14">. 143/a>3spa
 class="comment"> * under the terms of the GNU General Public License as published by the Free3/spa
  
L15" class="line" namn>
L15">. 153/a>3spa
 class="comment"> * Software Founda  >
; either vers3
)3/spa
  
L16" class="line" namn>
L16">. 163/a>3spa
 class="comment"> * any later vers3
L17" class="line" namn>
L17">. 173/a>3spa
 class="comment"> *3/spa
  
L18" class="line" namn>
L18">. 183/a>3spa
 class="comment"> */3/spa
  
L19" class="line" namn>
L19">. 193/a>#include <crypto/internal/hash.h3/a>> 
L20" class="line" namn>
L20">. 203/a>#include <linux/init.h3/a>> 
L21" class="line" namn>
L21">. 213/a>#include <linux/module.h3/a>> 
L22" class="line" namn>
L22">. 223/a>#include <linux/mm.h3/a>> 
L23" class="line" namn>
L23">. 233/a>#include <linux/cryptohash.h3/a>> 
L24" class="line" namn>
L24">. 243/a>#include <linux/typns.h3/a>> 
L25" class="line" namn>
L25">. 253/a>#include <crypto/sha.h3/a>> 
L26" class="line" namn>
L26">. 263/a>#include <asm/byteorder.h3/a>> 
L27" class="line" namn>
L27">. 273/a> 
L28" class="line" namn>
L28">. 283/a>static int.3a href="+code=sha1_init" class="sref">sha1_init3/a>(struct.3a href="+code=shash_desc" class="sref">shash_desc3/a> *3a href="+code=desc" class="sref">desc3/a>) 
L29" class="line" namn>
L29">. 293/a>{ 
L30" class="line" namn>
L30">. 303/a>        struct.3a href="+code=sha1_state" class="sref">sha1_state3/a> *3a href="+code=sctx" class="sref">sctx3/a> =.3a href="+code=shash_desc_ctx" class="sref">shash_desc_ctx3/a>(3a href="+code=desc" class="sref">desc3/a>); 
L31" class="line" namn>
L31">. 313/a> 
L32" class="line" namn>
L32">. 323/a>        *3a href="+code=sctx" class="sref">sctx3/a> =.(struct.3a href="+code=sha1_state" class="sref">sha1_state3/a>){ 
L33" class="line" namn>
L33">. 333/a>                .3a href="+code=state" class="sref">state3/a> = {.3a href="+code=SHA1_H0" class="sref">SHA1_H03/a>,.3a href="+code=SHA1_H1" class="sref">SHA1_H13/a>,.3a href="+code=SHA1_H2" class="sref">SHA1_H23/a>,.3a href="+code=SHA1_H3" class="sref">SHA1_H33/a>,.3a href="+code=SHA1_H4" class="sref">SHA1_H43/a> }, 
L34" class="line" namn>
L34">. 343/a>        }; 
L35" class="line" namn>
L35">. 353/a> 
L36" class="line" namn>
L36">. 363/a>        return 0; 
L37" class="line" namn>
L37">. 373/a>} 
L38" class="line" namn>
L38">. 383/a> 
L39" class="line" namn>
L39">. 393/a>int.3a href="+code=crypto_sha1_update" class="sref">crypto_sha1_update3/a>(struct.3a href="+code=shash_desc" class="sref">shash_desc3/a> *3a href="+code=desc" class="sref">desc3/a>, const.3a href="+code=u8" class="sref">u83/a> *3a href="+code=data" class="sref">data3/a>, 
L40" class="line" namn>
L40">. 403/a>                        unsigned int.3a href="+code=len" class="sref">len3/a>) 
L41" class="line" namn>
L41">. 413/a>{ 
L42" class="line" namn>
L42">. 423/a>        struct.3a href="+code=sha1_state" class="sref">sha1_state3/a> *3a href="+code=sctx" class="sref">sctx3/a> =.3a href="+code=shash_desc_ctx" class="sref">shash_desc_ctx3/a>(3a href="+code=desc" class="sref">desc3/a>); 
L43" class="line" namn>
L43">. 433/a>        unsigned int.3a href="+code=partial" class="sref">partial3/a>,.3a href="+code=done" class="sref">done3/a>; 
L44" class="line" namn>
L44">. 043/a>        /sha.h" class="fref">crypto/sha.h3/a>> > c.c#L10" id>
L10" class="line" namn>
L10r,.3a hre14L35" class="line" namn>4L35">4 353/a> 4L36" class="line" namn>4L36">4 363/a>      t.3a href="+code=partial" class="sref">partial3/a> =.3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+codeounnit" class="srefeounnal3/a%>,.3a href="+code=SHABLOCK_SIZEH4" class="sref">SHABLOCK_SIZE#L10" id>
L10" class="line" namn>
L10r,L37" id>4L37" class="line" namn>4L37">47363/a>      t.3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+codeounnit" class="srefeounnal3/a+> =.3a href="+code=len" class="sref">len3/" id>
L10" class="line" namn>
L10r,L38" id>4L38" class="line" namn>4L38">48363/a>      t.3a href="+code=done" class="sref">done3/a> n 0; 4L39" class="line" namn>4L39">49363/a>      t.3a href="+codeaial" cla/a>> c.c#L10a> =.3a href="+code=data" class="sref">data3/ 0; 5L40" class="line" namn>5L40">50353/a> 5L41" class="line" namn>5L41">51363/a>      if (a>(3a href="+code=partial" class="sref">partial3/a+nt.3a href="+code=len" class="sref">len3/a rg&g> =.3a href="+code=SHABLOCK_SIZEH4" class="sref">SHABLOCK_SIZE#L10) a>{ 5L42" class="line" namn>5L42">5 423/a>      a>      t.3a href="+codu3_H2" class="srefu. 323/at.3a href="+codtempH2" class="sreftemp323/[=.3a href="+code=S_WORKSPACE_WORDSH4" class="sref">S_WORKSPACE_WORDS323/] 0; 5L43" class="line" namn>5L43">53353/a> 5L44" class="line" namn>5L44">54423/a>      a>      if (>(3a href="+code=partial" class="sref">partial3/) a>{ 

L5" class="line" namn>
L35">55403/a>                      t.3a href="+code=done" class="sref">done3/a> ->(3a href="+code=partial" class="sref">partial3/ 0; 5L36" class="line" namn>5L36">56403/a>                      t.3a href="+codmemcpyal" class="srefmemcpytx3/a>(3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+codbuffertx" class="srefbufferal3/a+nt.3a href="+code=partial" class="sref">partial3/a>,.3a href="+code=data" class="sref">data3/a>, 5L37" class="line" namn>5L37">57403/a>                             t.3a href="+code=done" class="sref">done3/a+nt.3a href="+code=SHABLOCK_SIZEH4" class="sref">SHABLOCK_SIZE#L10) 0; 5L38" class="line" namn>5L38">58403/a>                      t.3a href="+codeaial" cla/a>> c.c#L10a> =.3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+codbuffertx" class="srefbufferal3/ 0; 5L39" class="line" namn>5L39">59403/a>              a>} 6L40" class="line" namn>6L40">60353/a> 6L41" class="line" namn>6L41">61403/a>              do a>{ 6L42" class="line" namn>6L42">6 423/a>      a>              t.3a href="+codeha_trans3/fotx" class="sref">s_trans3/fotx3/a>(3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+code=state" class="sref">state3/a>,.3a href="+codeaial" cla/a>> c.c#L10a>,.3a href="+codtempH2" class="sreftemp323/) 0; 6L43" class="line" namn>6L43">6 333/a>                      t.3a href="+code=done" class="sref">done3/a+> =.3a href="+code=SHABLOCK_SIZEH4" class="sref">SHABLOCK_SIZE#L10 0; 6L44" class="line" namn>6L44">64423/a>      a>              t.3a href="+codeaial" cla/a>> c.c#L10a> =.3a href="+code=data" class="sref">data3/a+nt.3a href="+code=done" class="sref">done3/a>; 6
L5" class="line" namn>6L35">65403/a>              } while (>(3a href="+code=done" class="sref">done3/a+nt.3a href="+code=SHABLOCK_SIZEH4" class="sref">SHABLOCK_SIZE#L10de &l> =.3a href="+code=len" class="sref">len3/) 0; 

L6" class="line" namn>
L36">66353/a> 6L37" class="line" namn>6L37">67403/a>              t.3a href="+codmemsenit" class="srefmemsentx3/a>(3a href="+codtempH2" class="sreftemp323/, 0, sizeofa>(3a href="+codtempH2" class="sreftemp323/)) 0; 6L38" class="line" namn>6L38">68403/a>              t.3a href="+code=partial" class="sref">partial3/a> n 0; 6L39" class="line" namn>6L39">69403/a>      a>} 7L40" class="line" namn>7L40">7 403/a>      t.3a href="+codmemcpyal" class="srefmemcpytx3/a>(3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+codbuffertx" class="srefbufferal3/a+nt.3a href="+code=partial" class="sref">partial3/a>,.3a href="+codeaial" cla/a>> c.c#L10a>,.3a href="+code=len" class="sref">len3/ -nt.3a href="+code=done" class="sref">done3/) 0; 7L41" class="line" namn>7L41">7 313/a> 7L42" class="line" namn>7L42">7 423/a>        return 0; 7L43" class="line" namn>7L43">73373/a>} 7L44" class="line" namn>7L44">7 143/a.3a href="+codEXPORT_SYMBOLne" class="srefEXPORT_SYMBOLtx3/a>(3a href="+code=crypto_sha1_update" class="sref">crypto_sha1_update3/) 0; 7
L5" class="line" namn>7L35">7 353/a> 7
L6" class="line" namn>7L36">76353/a> 

L7" class="line" namn>
L37">7 173/a>3spa
 class="comment/* Add padeadiit a   returf thmessage digest."> */3/spa
  7L38" class="line" namn>7L38">7 283/a>static int.3a href="+code=shafintial" class="srefe=shafintite3/a>(struct.3a href="+code=shash_desc" class="sref">shash_desc3/a> *3a href="+code=desc" class="sref">desc3/a>.h" class="fref">crypto/sha.h3/a>> 7L39" class="line" namn>7L39">7 293/a>{ 8L40" class="line" namn>8L40">8 303/a>        struct.3a href="+code=sha1_state" class="sref">sha1_state3/a> *3a href="+code=sctx" class="sref">sctx3/a> =.3a href="+code=shash_desc_ctx" class="sref">shash_desc_ctx3/a>(3a href="+code=desc" class="sref">desc3/a>); 8L41" class="line" namn>8L41">81403/a>      t.3a href="+cod__be3_H2" class="sref__be3_sc3/a> *3a href="+codesnit" class="srefesntx3/a> a>(3a href="+cod__be3_H2" class="sref__be3_sc3/a>) href="crypto/sounit" class="srefounen3/>); 8L42" class="line" namn>8L42">82403/a>      t.3a href="+codu3_H2" class="srefu. 323/at.3a href="+codiH2" class="srefisc3/a>.h" class="frefindectx" class="srefindecsc3/a>.h" class="frefpade=len" class="srefpade=len3/>); 8L43" class="line" namn>8L43">83403/a>      t.3a href="+cod__be6_H4" class="sref__be6_323/at.3a href="+codbiults" class="srefbiulen3/>); 8L44" class="line" namn>8L44">84303/a>        stati  /sha.h" class="fref">crypto/sha.h3/a>> <.h" class="frefpadeadien" class="srefpadeadi323/[64]a> = 0x80,   }; 8
L5" class="line" namn>8L35">8 353/a> 8
L6" class="line" namn>8L36">8 363/a>      t.3a href="+codbiults" class="srefbiulen3/a> =.3a href="+codcpu_yptbe6_H4" class="srefcpu_yptbe6_tx3/a>(3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+codeounnit" class="srefeounnal3/a& &l& &l 3a>); 8
L7" class="line" namn>8L37">8 273/a> 

L8" class="line" namn>
L38">88363/a>      t>3spa
 class="comment/* Pad onputo 56or m 64"> */3/spa
  8L39" class="line" namn>8L39">89363/a>      t.3a href="+codindectx" class="srefindecsc3/a> =.3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+codeounnit" class="srefeounnal3/a& 0x3f>); 9L40" class="line" namn>9L40">9 403/a>      t.3a href="+codpade=len" class="srefpade=len3/a> a>(3a href="+codindectx" class="srefindecsc3/a& &l 56) ? (56o-nt.3a href="+codindectx" class="srefindecsc3/) : ((64+56) -nt.3a href="+codindectx" class="srefindecsc3/)>); 9L41" class="line" namn>9L41">91403/a>      t.3a href="+code=crypto_sha1_update" class="sref">crypto_sha1_update3/a *3a href="+code=desc" class="sref">desc3/a>.h" class="frefpadeadien" class="srefpadeadi323/a>.h" class="frefpade=len" class="srefpade=len3/)>); 9L42" class="line" namn>9L42">92273/a> 9L43" class="line" namn>9L43">93363/a>      t>3spa
 class="comment/* Appe a e=lgth"> */3/spa
  9L44" class="line" namn>9L44">94403/a>      t.3a href="+code=crypto_sha1_update" class="sref">crypto_sha1_update3/a *3a href="+code=desc" class="sref">desc3/a>(  /sha.h" class="fref">crypto/sha.h3/a>> 9
L5" class="line" namn>9L35">9 353/a> 9
L6" class="line" namn>9L36">96363/a>      t>3spa
 class="comment/* Store   steic  digest"> */3/spa
  9
L7" class="line" namn>9L37">97403/a>      d foa>(3a href="+codiH2" class="srefisc3/a> n at.3a href="+codiH2" class="srefisc3/a& &l 5 at.3a href="+codiH2" class="srefisc3/++a>) 9
L8" class="line" namn>9L38">98403/a>              t.3a href="+codesnit" class="srefesntx3/[=.3a href="+codiH2" class="srefisc3/]a> =.3a href="+codcpu_yptbe3_H2" class="srefcpu_yptbe3_tx3/a>(3a href="+code=sctx" class="sref">sctx3/-rg>.3a href="+code=state" class="sref">state3/[=.3a href="+codiH2" class="srefisc3/]) 0; 

L9" class="line" namn>
L39">99353/a> 
LL10" class="line" namn>
LL40"
LL363/a>      t>3spa
 class="comment/* Wipe e_conxt"> */3/spa
  
0L11" class="line" namn>
0140"
L1403/a>      t.3a href="+codmemsenit" class="srefmemsentx3/a>(3a href="+code=sctx" class="sref">sctx3/, 0, sizeofa> *3a href="+code=sctx" class="sref">sctx3/) 0; 
0L12" class="line" namn>
0240"
L2273/a> 
0L13" class="line" namn>
0340"
L3363/a>        return 0; 
0L14" class="line" namn>
0440"
L4373/a>} 
0
L5" class="line" namn>
0
L0"
L 353/a> 
0L16" class="line" namn>
06L0"
L6283/a>static int.3a href="+code=shaexpornit" class="sref">shaexpornte3/a>(struct.3a href="+code=shash_desc" class="sref">shash_desc3/a> *3a href="+code=desc" class="sref">desc3/a>void
0L17" class="line" namn>
07L0"
L7293/a>{ 
0L18" class="line" namn>
08L0"
L8403/a>        struct.3a href="+code=sha1_state" class="sref">sha1_state3/a> *3a href="+code=sctx" class="sref">sctx3/a> =.3a href="+code=shash_desc_ctx" class="sref">shash_desc_ctx3/a>(3a href="+code=desc" class="sref">desc3/a>); 
0L19" class="line" namn>
09L0"
L9353/a> 

L10" class="line" namn>

L10"11 403/a>      t.3a href="+codmemcpyal" class="srefmemcpytx3/a>(3a href="+codounit" class="srefounen3/a>,.3a href="+code=sctx" class="sref">sctx3/, sizeofa> *3a href="+code=sctx" class="sref">sctx3/)a>); 
LL11" class="line" namn>
L140"
11363/a>        return 0; 

L12" class="line" namn>

L12"1. 123/a>} 

L13" class="line" namn>

L13"113353/a> 

L14" class="line" namn>

L14"1. 143/a>static int.3a href="+code=sha1mpornit" class="sref">sha1mporn/a>static int.3a href="+code=shaexpornit" class="sref">shaexpornte3/a>(struct.3a href="+code=shash_desc" class="  /sha

L15" class="line" namn>

L15"1. 153/a>{ 

L16" class="line" namn>

L16"116403/a>        struct.3a href="+code=sha1_state" class="sref">sha1_state3/a> *3a href="+code=sctx" class="sref">sctx3/a> =.3a href="+code=shash_desc_ctx" class="sref">shash_desc_ctx3/a>(3a href="+code=desc" class="sref">desc3/a>); 

L17" class="line" namn>

L17"11 273/a> 

L18" class="line" namn>

L18"118363/a>      t.3a href="+codmemcpyal" class="srefmemcpytx3/a>(3a href="+code=sctx" class="sref">sctx3/a>.h" class="frefinha1_generic.c7Lilen3/, sizeofa> *3a href="+code=sctx" class="sref">sctx3/)a>); 

L19" class="line" namn>

L19"119363/a>        return 0; 1
L20" class="line" namn>1
L20"1. 203/a>} 1
L21" class="line" namn>1
L21"12 313/a> 
LL12" class="line" namn>
LL12"1. 223/a>statiatic int.3a href="+code=shaealien" class="srefe=shaealigt; <.h" class="frefalien" class="srefaligt; <= a>{ 1
L23" class="line" namn>1
L23"123363/a>        .3a href="+coddigestsizesc" class="sref"igestsize363/a>   =>      t.3a href="+cod">SHADIGEST_SIZEH4" class="sref">SHADIGEST_SIZEen3/,>{ 

L24" class="line" namn>1
L24"124363/a>        .3a href="+cod1_init" class="sref1_init3/           =>      t.3a href="+cods=sha1_init" class="sref">sha1_init3/,>{ 

L25" class="line" namn>1
L25"125363/a>        .3a href="+cod1_update" class="sref1_update3/         =>      t.3a href="+code=crypto_sha1_update" class="sref">crypto_sha1_update3/,>{ 

L26" class="line" namn>1
L26"126363/a>        .3a href="+codfintial" class="sreffintite3/          =>      t.3a href="+cods=shafintial" class="srefe=shafintite3/,>{ 

L27" class="line" namn>1
L27"127363/a>        .3a href="+codexpornit" class="srefexpornte3/         =>      t.3a href="+cods=shaexpornit" class="sref">shaexpornte3/,>{ 

L28" class="line" namn>1
L28"128363/a>        .3a href="+cod1mpornit" class="sref1mporn/a>s         =>      t.3a href="+cods=sha1mpornit" class="sref">sha1mporn/a>s,>{ 

L29" class="line" namn>1
L29"129363/a>        .3a href="+codd>desizesc" class="sref">desize363/a>     =>      sizeofa.(struct.3a href="+code=sha1_state" class="sref">sha1_state3/a,>{ 1
L30" class="line" namn>1
L30"1. 303/a>        .3a href="+code=stasizesc" class="srefe=stasize303/a>    =>      sizeofa.(struct.3a href="+code=sha1_state" class="sref">sha1_state3/a,>{ 1
L31" class="line" namn>1
L31"131303/a>        .3a href="+codbasate" class="srefbasait3/           =>      a>{ 1
L32" class="line" namn>1
L32"13 423/a>      a>        .3a href="+codcra_" nate" class="sref">a_" na363/a>     =>      t>3spa
 classdistng">"o/sh"*/3/spa,>{ 
LL13" class="line" namn>
LL23"1. 333/a>                .3a href="+cod">a_dDerir_" nate" class="sref">a_dDerir_" na333/=>      t>3spa
 classdistng">"o/shsm-gener"*/3/spa,>{ 

L34" class="line" namn>1
L34"134423/a>      a>        .3a href="+cod">a_flaglts" class="sref">a_flagl303/a>    =>       .3a href="+codCRYPTO_ALG_TYPE_">SSHts" class="srefCRYPTO_ALG_TYPE_">SSH/a>s,>{ 1
L35" class="line" namn>1
L35"135403/a>                .3a href="+cod">a_blocksizesc" class="sref">a_blocksize403/a>=>      t.3a href="+cod">SHABLOCK_SIZEH4" class="sref">SHABLOCK_SIZE#L10,>{ 

L36" class="line" namn>1
L36"136403/a>                .3a href="+cod">a_x/modusc" class="sref">a_x/modu363/a>   =>      t.3a href="+codTHIS_MODULEH4" class="srefTHIS_MODULE#L10,>{ 

L37" class="line" namn>1
L37"137363/a>      a>} 1
L38" class="line" namn>1
L38"1. 383/  }; 1
L39" class="line" namn>1
L39"139353/a> 1
L40" class="line" namn>1
L40"1. 403/a>static int.3a href="+cod_a1_init" class="sref_a1_init3/ct.3a href="+code=sha1_gener_x/ma1_init" class="sref">sha1_gener_x/ma1_intx3/a) 1
L41" class="line" namn>1
L41"1. 413/a>{ 1
L42" class="line" namn>1
L42"14 423/a>        returt.3a href="+code=cryptregistir_e=shate" class="sref">cryptregistir_e=shatx3/a&t.3a href="+codalien" class="srefaligt; a>); 1
L43" class="line" namn>1
L43"143373/a>} 1
L44" class="line" namn>1
L44"1. 043/>} 14L35" class="line" namn>14L35"14 353/a>stati
4L36" class="line" namn>14L36"14 363/a>{ 
4L37" class="line" namn>14L37"147363/a>      t.3a href="+cod">cryptunregistir_e=shate" class="sref">cryptunregistir_e=shatx3/a&t.3a href="+codalien" class="srefaligt; a>); 14L38" class="line" namn>14L38"148363/a>} 14L39" class="line" namn>14L39"149353/a> 15L40" class="line" namn>15L40"150353/t.3a href="+codm/modua1_init" class="srefm/modua1_intx3/a>(3a href="+code=sha1_gener_x/ma1_init" class="sref">sha1_gener_x/ma1_intx3/a>); 15L41" class="line" namn>15L41"151363/t.3a href="+codm/moduaexinit" class="srefm/moduaexintx3/a>(3a href="+code=sha1_gener_x/mafiniH2" class="srefe=sha1_gener_x/mafinitx3/a>); 15L42" class="line" namn>15L42"152273/a> 15L43" class="line" namn>15L43"153353/>(3a href="+codMODULE_LICENSEH4" class="srefMODULE_LICENSEtx3/a>>3spa
 classdistng">"GPL"*/3/spaa>); 15L44" class="line" namn>15L44"15 143/a.3a href="+codMODULE_DESCRIPTIONH4" class="srefMODULE_DESCRIPTIONtx3/a>>3spa
 classdistng">"* SHA1 Secure Hash Algorit"*/3/spaa>); 1

L5" class="line" namn>1
L35"15 353/a> 15L36" class="line" namn>15L36"156403/a.3a href="+codMODULE_ALIASH4" class="srefMODULE_ALIAStx3/a>>3spa
 classdistng">"o/sh"*/3/spaa>); 
5L37" class="line" namn>15L37"157403/
The lgoginti LXRee softwaed by th; LXRe="cou_inyen3/, h(th expenelemenler vers3lxref@lin.noen3/. .3/div 3di" classsubfootir"> lxr.f@lin.no kindly hostshed b; Redpill L@lpro AStx3/,is pviundeof L@lux" /sultadiit a opennda s services since 1995. .3/div /bodyiv /htmliv