RC4 tune-up for AMD64. Performance improvement of 2.22x is measured for
[openssl.git] / crypto / rc4 / rc4.c
index 75616c3179bb6894b45a64ae25269f8bfacc757a..b39c070292c98de583bc0aa26cd3db8a55795db3 100644 (file)
@@ -155,15 +155,15 @@ bad:
                i=EVP_read_pw_string(buf,BUFSIZ,"Enter RC4 password:",0);
                if (i != 0)
                        {
-                       memset(buf,0,BUFSIZ);
+                       OPENSSL_cleanse(buf,BUFSIZ);
                        fprintf(stderr,"bad password read\n");
                        exit(1);
                        }
                keystr=buf;
                }
 
-       MD5((unsigned char *)keystr,(unsigned long)strlen(keystr),md);
-       memset(keystr,0,strlen(keystr));
+       EVP_Digest((unsigned char *)keystr,(unsigned long)strlen(keystr),md,NULL,EVP_md5());
+       OPENSSL_cleanse(keystr,strlen(keystr));
        RC4_set_key(&key,MD5_DIGEST_LENGTH,md);
        
        for(;;)