BookmarkSubscribeRSS Feed
mvk_sas
Calcite | Level 5

Hi All,

I would appreciate if someone could help in masking data in sas dataset.

Example:  I have sas dataset like below

Customer_name  Customer_ID

John                    12345

Mke                     12346

I wanted mask one column in this say customer_name. how can we do that. In case if we encrypt the data is there a way to decrept also.

Thanks in advance... MVK

2 REPLIES 2
robby_beum
Quartz | Level 8

FriedEgg had posted a discussion about data masking and implementing a cipher:

https://communities.sas.com/message/106874#106874

Ksharp
Super User

There are lots of algorithm for encoding and decoding .

I pick up the most simple one .It is from JavaEE Tutorial 6 .

The implementation of codeString in CoderImpl shifts the string argument forward in the alphabet

by the number of letters specified in the second argument; any characters that are not letters are

left unchanged. (This simple shift code is known as a Caesar cipher, for Julius Caesar, who

reportedly used it to communicate with his generals.)

I took offset as 4 .

data have;
input name $ id $;
cards;
Arthur 1234
Tom 1234
MikeZ 1234
Matt 1234
;
run;


%let offset=4;
data encode;
 set have;
 do _n_=1 to length(name);
 substr(name,_n_,1) = byte(mod(rank(char(name,_n_))+&offset,255)) ;
 end;
run;

data decode;
 set encode;
 do _n_=1 to length(name);
 substr(name,_n_,1) =byte(mod(rank(char(name,_n_))-&offset+255,255));
 end;
run;





Ksharp

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 7451 views
  • 8 likes
  • 3 in conversation