📄 gersang.c
字号:
#include <stdio.h>
#include "seedx.h"
void gersang_deLogIn(unsigned char* data, unsigned int* pdwRoundKey)
{
unsigned char rawkey[16] = "gersang87654321"; //加密B的固定密钥
int i;
for (i=0; i<48; i++) //加密B
{
data[3+i] ^= rawkey[i%15];
}
SeedDecrypt(data+3, pdwRoundKey); //加密A (SEED)
}
int main(void)
{
unsigned char data[]=
"\x33\x00" //包总长度
"\x3C" //校验字节
"\x7C\x43\xBA\xDE\x5E\xC8\x37\x4B\x82\x12\x1B\xD7\x46\xBD\xA9\x97" //加密A,加密B
"\x65\x72\x73\x61\x6E\x67\x38\x37\x36\x45\x5D\x54\x42\x58\x00\x65" //加密B
"\x72\x73\x61\x6E\x67\x38\x37\x36\x35\x34\x33\x32\x31\x67\x65\x72"; //加密B
unsigned char RoundKey[]=
"\xD7\x90\xC1\xD8\xB1\x45\xDE\x5F\xE2\x8D\xF5\x7D\xB6\x73\xEB\x07" //加密A (SEED)子密钥
"\x32\x6E\x7F\xFA\xA2\x29\x94\xD8\x55\xA4\xF4\x51\x2E\x5C\x52\xC9"
"\xC3\x97\xF6\x91\x2E\xF5\x23\xF8\x0B\xFF\x98\x1A\xD9\x5F\x64\x99"
"\x89\x52\xC7\xDE\xA8\x14\x71\x75\xDC\xDF\x6C\x55\xE9\xC2\x50\xAD"
"\xF7\x96\x71\xC4\x18\xFA\x4F\xB6\xEC\x2D\xED\x1A\xF1\xE0\x77\x8A"
"\x03\x89\xC7\x50\xE7\x99\x2C\xB9\xA1\xA6\x12\x1D\x43\x4A\x49\xEB"
"\xD9\x87\x63\xBE\x51\x34\x76\x6B\x35\xDF\x88\xB8\x78\xED\x6A\xCC"
"\x44\x2A\xC8\xA5\x76\x16\xC4\xE5\xF4\x6F\x40\xD5\x8E\x9D\x69\x20";
int i;
gersang_deLogIn(data, (unsigned int*) RoundKey);
for (i=0; i<51; i++)
{
printf("%02X ", data[i]);
}
printf("\n\n");
for (i=0; i<51; i++)
{
printf("%c", data[i]);
}
printf("\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -