江苏中石化支付功能授权码
授权码保存文件
/mnt/flash/SINOPEC/authorization
保存内容:
功能号4字节(0001),授权码(8位:asc),换行符
。。。
8位源数据,前6位为CPU_ID;末2位为功能号码
CPU_ID每位值加上0x11后展示给UI
密钥
TKHenShanTQC2022
1、计算获取授权码函数
void GetCalAuthCode(unsigned short func_num ,char *str_CalCode)
{
计算授权码
}
2、匹配授权码是否正确函数
BOOL CheckAuthorizeCode(char *menu_id,const char *value){}
系统启动时调用此函数校验授权码是否正确存在,不存在则禁止此功能的使能
菜单输入授权码时调用,判断授权码正确,则使能此功能
并保存此授权码
3、启动时校验授权码是否存在并且正确,若不正确则禁止使能该功能
BOOL CheckAuthCodeOK(char *menu_id)
4、获取CPUID转换供给UI显示
void CPUIDConvert(char *menu_id)
==================授权码生成规则:==============================
一、从油机菜单中获取ID,输入到PC工具中,PC工具根据此ID每个字节的16进制码减去0x11得到输入UUID
二、UUID(6字节)+功能码(2字节BCD码)组成8字节加密输入源
三、采用3DES以密钥TKHenShanTQC2022加密输入源得出的字符串,获取授权码
四、3DES加密计算后得到的字符串取前六个数字,如果数字不够六个,则从第一个英文字母取其ASC16(大写)进制值的高低4位值转成字符后赋值补种不够的数字。
如"A"十六进制为0x41,则取值后为"4"和"1"
======修改增加菜单:
添加一个菜单,在使能前需要输入授权码
增加029k00 的下一级菜单029k10作为配置开关使能
弹出输入授权码菜单时,
\Region\China\languages\China_dispenser_text.ini
[029k00]
T1=1 请输入授权码:
[029k10]
T1=1 关闭
T2=2 开启
===========xml:
\Region\China\menu\dispenser_menu.xml
==========xsl:
E:\Work\ubuntuMnt\TQC_Resource\Region\China\menu\dispenser_menu_xsl.xml
/menu_ref/Operating_Menu.xml
/menu_ref/Operating_Access.xml
/home/TQC/Appl/UTN11/Operating_Config.xml
/home/TQC/Appl/UTN11/Operating_Access.xml
VWWIGCAIVGCIAAAB