I had once a customer that wanted to hide plain text of a given character column. This macro does the trick.

/*=============================================================*/
/* Macro ENCODE */
/* This macro encodes a character column of a given dataset */
/* and writes a result dataset. */
/*-------------------------------------------------------------*/
/* Parameters: indata = library.SourceTable */
/* outdata= library.TargetTable */
/* col = Column to encrypt */
/* method = encryption algorithm, valid opitons: */
/* SAS 9.4 (sas001,sas002,sas003,sas004) */
/* SAS 9.3 (sas001,sas002) */
/* (sas001 is a weak encryption) */
/* dropCol= Should the non-encrypted column be */
/* deleted from the target table: YES/NO */
/*-------------------------------------------------------------*/
/* Author: Karl-Heinz Saxer, SAS Institute AG, Switzerland */
/*-------------------------------------------------------------*/

%macro encode(indata =,
outdata =,
col =,
method =sas002,
dropCol =NO);

/* write no NOTES and no generated macro-code to LOG */
options nonotes nomprint;

/* write column value to encrypt into macro-variables*/
/* count the number of records */
data _null_;
set &indata end=last;
call symputx("enc_&col"||left(_N_),&col);
if last=1 then call symputx("final",_n_);
run;

/* encrypt the column */
filename dummy temp;
%do i=1 %to &final;
proc pwencode in = "&&enc_&col&i"
method = &method
out = dummy;
run;
%let outcol&i=&_pwencode;
%end;
filename dummy clear;

/* write target dataset */
data &outdata;
set &indata;
&col = strip(symget("enc_&col"||left(_n_)));
&col._encrpyt = substr(strip(symget("outcol"||left(_n_))),9);
%if %upcase(&dropCol) = YES %then %do;
drop &col;
%end;
run;

/* write NOTES to LOG */
options notes;
%put NOTE: Dataset "%upcase(&outdata)" has been created with encrypted column "ENC_%upcase(&col)".;
%if %upcase(&dropCol) = YES %then %do;
%put NOTE: Column "%upcase(&Col)" was deleted because of the parameter setting of DropCol="%upcase(&dropCol)".;
%end;
%mend encode;

/* call the macro----------------------------------------------*/
%encode(indata = sashelp.class,
outdata = work.result_sas001,
col = name,
method = sas001,
dropCol = no);

/* print the result table--------------------------------------*/
title "sas001 - encoding algorithm";
proc print data=work.result_sas001;
run;

/* call the macro----------------------------------------------*/
%encode(indata = sashelp.class,
outdata = work.result_sas002,
col = name,
method = sas002,
dropCol = no);

/* print the result table--------------------------------------*/
title "sas002 - encoding algorithm";
proc print data=work.result_sas002;
run;