home *** CD-ROM | disk | FTP | other *** search
- /* string_to_key.c */
- /* Copyright (C) 1992 Eric Young - see COPYING for more details */
- #include "des_local.h"
-
- int des_string_to_key(str,key)
- char *str;
- des_cblock *key;
- {
- des_key_schedule ks;
- int i,length;
-
- bzero(key,8);
- length=strlen(str);
- for (i=0; i<length; i++)
- (*key)[i%8]^=(str[i]<<1);
- des_set_odd_parity((des_cblock *)key);
- des_set_key((des_cblock *)key,ks);
- des_cbc_cksum((des_cblock *)str,(des_cblock *)key,(long)length,ks,
- (des_cblock *)key);
- bzero(ks,sizeof(ks));
- des_set_odd_parity(key);
- return(0);
- }
-