pbocapp.cpp

来自「RSA C++源代码DEMO,附加DESMD5等众多算法」· C++ 代码 · 共 45 行

CPP
45
字号
/*
 *  PBOC Application Utilities
 *
 *  Writen by Alfred Meng
 *
 *  Oct. 15, 1999
 *
 *@ident "PBOCAPP V1.0"
 */

#include "pbocapp.h"

#define cMAKEWORD(a, b)      ((unsigned short)(((unsigned char)(a)) | ((unsigned short)((unsigned char)(b))) << 8))
#define cMAKELONG(a, b)      ((long)(((unsigned short)(a)) | ((unsigned long)((unsigned short)(b))) << 16))
#define cLOWORD(l)           ((unsigned short)(l))
#define cHIWORD(l)           ((unsigned short)(((unsigned long)(l) >> 16) & 0xFFFF))
#define cLOBYTE(w)           ((unsigned char)(w))
#define cHIBYTE(w)           ((unsigned char)(((unsigned short)(w) >> 8) & 0xFF))

long    bin2long( char *bin4 )
{
    return cMAKELONG(cMAKEWORD(bin4[3],bin4[2]),cMAKEWORD(bin4[1],bin4[0]));
}

void    long2bin( long bal, char *bin4 )
{
    bin4[0] = cHIBYTE(cHIWORD(bal));
    bin4[1] = cLOBYTE(cHIWORD(bal));
    bin4[2] = cHIBYTE(cLOWORD(bal));
    bin4[3] = cLOBYTE(cLOWORD(bal));
}

short  bin2word( char *bin2 )
{
    return cMAKEWORD(bin2[1],bin2[0]);
}

void   word2bin( short bal, char *bin2 )
{
    bin2[0] = cHIBYTE(bal);
    bin2[1] = cLOBYTE(bal);
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?