Blotting Passwords and Encryptkeys


Check the SAS log to ensure that any password or encryptkey is blotted out. This applies to the READ=, WRITE=, ALTER=, PW=, and ENCRYPTKEY= options.

Following are examples of password and encryptkey value not being blotted in the SAS log:

/*Using a macro variable for the libref or data set in a DATA statement: */

data &ds(read=secret); 

x=1;

run;

/*Using an incorrect password for a data set in certain procedures: */

proc append base=here(PW=XXXXXXX)

data=more(READ=secret2);

run;

/*A typing error: */

proc print data=lubrary.abc(READ=secret);

run;

/* or */

proc print data=library.abc(ERAD=secret);

run;

To blot the password in most cases, code the password=value pair on a separate line. For example:

data newdata(

read=secret

encrypt=yes

encryptkey=secretkey

); 

x=1;

run;

The SAS log shows the password and encryptkey blotted as: READ=XXXXXX and ENCRYPTKEY=XXXXXXXXX.

If the code causes an ERROR message, the password will not be blotted. For example, in the following code the libref is misspelled causing SAS to issue the message: "ERROR: Libref MYLUB is not assigned." and the password is not blotted.

libname mylib 'c:\';

data mylub.abc(

read=secret

); 

x=1;

run;