银行加密算法之——数据打解包

       在银行业务中,我们要对数据进行加密处理,这点事显而易见的,但无论是我们进行软件加密还是硬件加密,都需要对待加密的数据之前需要对数据进行打包处理。在解密数据后,无论是硬件加密还是软件加密都还需要进行相应的解包处理。这样才能得到我们想要的正确数据,在接下来的文章内将主要介绍打解包的处理和程序示例。

            这其实就是一个将字符串数据转换成16进制数的问题,首先是打包(PACK),将如字符串"1234567FE" 转换成十六进制数0x12 0x34 0x56 0xE0等,因为字符串的长度是9程序会自动成偶数。尤其是在硬件加密方面,密码键盘是无法识别字符串的。在此过程中数据的长度会变为原来的一半,这是因为他会将原来的两位字符组成一个新的十六进制数,在字符串不足偶数时会在后面自动补0,由此转换为的数据就可以用来异或,活着Des,3Des操作。

以下是函数的实现过程

int Pack( unsigned char *pbyInBuffer,  unsigned char *pbyOutBuffer, int   iInBuffLen )
{
 unsigned char n;
 int iLen,i;
 
 /*
 **  whether InBuffer data's len can be divided by 2
 */
 if(iInBuffLen%2)
  iLen=iInBuffLen+1;
 else

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值