使用 Optim Data Privacy 解决方案在开放平台上定制数据转换
2010-02-04 00:00:00 来源:WEB开发网程序进行初始化和条件判断之后,首先需要获取源数据列的数据。主要代码如下:
// 得到源数据列的指针
pCol = &(pSrcColList->Col[ pInputParms->DestColIndex ]);
rc = (*pInputParms->pPSTGetColValue)// 获取源数据列数据
(pCol->hCol, // 源数据列的句柄
PST_C_CHAR, // 指明列的数据类型
0, //Precision,DECIMAL 数据类型专用,这里不需要
0, //Scale,DECIMAL 数据类型专用,这里不需要
&ID, // 保存数据的变量地址
sizeof(ID), // 变量的大小
&IndVar ); // 数据是否为空的标志,-1 为空,不空则为 0
switch ( rc )
{
case PSTEXIT_SUCCESS: // 成功
case PSTEXIT_TRUNC_WARNING: // 含有警告信息,但仍然可以继续
break;
default:
return( PST_CM_EXIT_ABORT_PROCESS );// 发生严重错误,数据转换终止
}
在获取了身份证数据之后,我们进行转换。变换规则为:
利用身份证第后 4 位信息座位种子生成随机数 rand;
身份证头两位的省份信息由 rand%31 决定,在省份列表中选取;
生日年份信息由 rand%30+70 决定,区间为 1970~2000;
生日月份信息由 rand%12+1 决定,区间为 1~12;
身份证的最后一位校验位,由以下规则计算得出:
计算前 17 位的加权和 S,S = Ai * Wi, i = 2, ... , 18,其中 Ai 为第 i 位的身份证号码数值,Wi 为第 i 位的权重,Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
- ››使用 COLUMN函数编制单元信息
更多精彩
赞助商链接