SAS-MD5加密

2018-10-11  本文已影响0人  Lucky_Gao
解决中文md5有误?

检查数据是否纯在空格,如果存在空格,可使用以下代码去空格处理。

    left函数:        刪除字符串左边(开头> 的空格
    right函数:       刪除字符串右边(结尾> 的空格
    trim函数:        刪除字符串右边(结尾> 的空格 
    strip函数:       刪除字符串前后空格
    compress函数:    删除字符串中所有空格
    compbl函数:      将连续两个或以上的空格压缩为1个空格
  1. 由于sas默认编码是gbk2312,所以需要修改sas编码。

  2. 进入SAS 的nls 目录,D:\Program Files\SASHome\SASFoundation\9.4\nls,查看是否是多语言,目前如下目录有多个语言可供选择。


    image.png
  3. 查看系统默认选择的语言。进入目录 D:\Program Files\SASHome\SASFoundation\9.4,查看文件 sasv9.cfg ,系统默认为zh。


    image.png
  4. 修改zh为u8:


    image.png
  5. 重启sas并运行。(如上显示,填写-Rlang,可以让sas运行R代码,代码见后续部分。)

  6. 执行代码:

data a;
set c;
y = put(md5(name),$hex32.);
run;

R代码运行

  1. 修改如上配置,查看sas是否支持R代码运行。
 proc options restrict;
 run;
  ###输出
   SAS 选项受您的软件安装点管理员限制
         您的软件安装点管理员尚未限定任何 SAS 选项。
  1. 执行代码:
   proc options option=Rlang;
   run;
   ### 输出:
     SAS (R) PROPRIETARY SOFTWARE RELEASE 9.4  TS1M2
   RLANG             允许 SAS 执行 R 语言语句。
  1. 执行md5加密:
 proc iml;
submit / R;
library(digest)
digest(enc2utf8("李四"),algo="md5", serialize=F)
endsubmit;
quit;

O(∩_∩)O~~

上一篇下一篇

猜你喜欢

热点阅读