DATA Step, Macro, Functions and more

SQL 'SHA2_256' equivalent in SAS

Reply
New Contributor
Posts: 3

SQL 'SHA2_256' equivalent in SAS

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,

Super User
Posts: 5,260

Re: SQL 'SHA2_256' equivalent in SAS

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
New Contributor
Posts: 3

Re: SQL 'SHA2_256' equivalent in SAS

Thanks for your help. I found out what my issue was. Hashing variable from numeric and character give different values. Thanks for that.
Trusted Advisor
Posts: 1,300

Re: SQL 'SHA2_256' equivalent in SAS

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;
New Contributor
Posts: 3

Re: SQL 'SHA2_256' equivalent in SAS

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.
Ask a Question
Discussion stats
  • 4 replies
  • 124 views
  • 0 likes
  • 3 in conversation