代码中密钥的一种展示方式

一般密钥不会直接写在代码中,如果一定要这么做,也不要直白的展示,如:key = “aks123”,

如果非要在代码中写入,可以稍微委婉隐晦一点,如

int main()
{
	//  一般用于代码中的密钥,比 __strt = "kjadkas12345" 这种模式隐蔽,相对安全,但是,在高手面前并没什么鸟用
	int xa[] = { 3478,1493, 4800, 2195, 9938, 1305, 289, 3454};
	int xoffset1 = 547;
	int xoffset2 = 184;

	int p1 = sizeof(xa);
	int p2 = sizeof(xa[0]);

	// 获取数组元素个数(也就是最终生成密钥的位数)
	int xsize = sizeof(xa) / sizeof(xa[0]);

	// accii表 数字、大小写英文字母【0-9】【A-Z】【a-z】
	int ku[] = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122};
	
	// 获取数组元素个数
	int kusize = sizeof(ku) / sizeof(ku[0]);

	std::string __strt = "";
	for (int i = 0; i < xsize; i++)
	{

		// 原理:任意数取余,范围都在 [0 - kusize) 区间
		int pos = (xa[i] + xoffset1) % kusize;

		//字符串组合获取到的accii字符
		__strt += (char)(ku[pos]);

		//扰乱任意数
		xoffset1 = xa[i] + xoffset2 + i;
	}

密钥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值