BookmarkSubscribeRSS Feed
Monty82
Calcite | Level 5

Hi there,

 

somebody hashed account number using the SQL code: 'SHA2_256' . Is there a SAS equivalent function to give the same hashed account? I used SHA256 but no luck yet.

 

Your help will be highly appreciated.

 

many thanks,

4 REPLIES 4
LinusH
Tourmaline | Level 20

As I understand it, SAS uses the "global" available algorithm. So it shouldn't be any difference.

How did you verify that didn't have any luck?

Perhaps it's the data that changed between the environments. Transcoding/truncation of trailing blanks etc can occur.

Data never sleeps
Monty82
Calcite | Level 5
Thanks for your help. I found out what my issue was. Hashing variable from numeric and character give different values. Thanks for that.
FriedEgg
SAS Employee

The output of the SHA256 function in SAS is the raw bytes.  I assume you want the hash string.  In which case you just want to combine the SHA256 function call with a PUT function and the $hex64. format.  Without specifying what SQL implementation you are referring to, I can only speculate what you are really looking for.

 

data foo;
set sashelp.class;
hash_name=put(sha256(name),$hex64.);
run;
Monty82
Calcite | Level 5
Thanks for your help. I found out what my issue was. Hashing variable from numeric and character give different values. Yes, I used the same code as you mentioned. Thanks for that.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 4 replies
  • 2606 views
  • 0 likes
  • 3 in conversation