diff --git a/all.sas b/all.sas index 766e48e..8186e58 100644 --- a/all.sas +++ b/all.sas @@ -5158,8 +5158,7 @@ create table &outds (rename=( @li mf_getvartype.sas @param [in] libds dataset to hash - @param [in] salt= Provide a salt (could be, for instance, the name of the - dataset). Max 32 chars. + @param [in] salt= Provide a salt (could be, for instance, the dataset name) @param [out] outds= (work.mf_hashdataset) The output dataset to create. This will contain one column (hashkey) with one observation (a hex32. representation of the input hash) @@ -5194,7 +5193,7 @@ create table &outds (rename=( %let varlist=%mf_getvarlist(&libds); data &outds(rename=(&keyvar=hashkey) keep=&keyvar); length &prevkeyvar &keyvar $32; - retain &prevkeyvar "&salt"; + retain &prevkeyvar "%sysfunc(md5(%str(&salt)),$hex32.)"; set &libds end=&lastvar; /* hash should include previous row */ &keyvar=put(md5(&prevkeyvar diff --git a/base/mp_hashdataset.sas b/base/mp_hashdataset.sas index 1c05059..c138b8b 100644 --- a/base/mp_hashdataset.sas +++ b/base/mp_hashdataset.sas @@ -20,8 +20,7 @@ @li mf_getvartype.sas @param [in] libds dataset to hash - @param [in] salt= Provide a salt (could be, for instance, the name of the - dataset). Max 32 chars. + @param [in] salt= Provide a salt (could be, for instance, the dataset name) @param [out] outds= (work.mf_hashdataset) The output dataset to create. This will contain one column (hashkey) with one observation (a hex32. representation of the input hash) @@ -56,7 +55,7 @@ %let varlist=%mf_getvarlist(&libds); data &outds(rename=(&keyvar=hashkey) keep=&keyvar); length &prevkeyvar &keyvar $32; - retain &prevkeyvar "&salt"; + retain &prevkeyvar "%sysfunc(md5(%str(&salt)),$hex32.)"; set &libds end=&lastvar; /* hash should include previous row */ &keyvar=put(md5(&prevkeyvar