字符串移位加密解密

你说的曾经没有我的故事 提交于 2020-01-26 18:08:59

加密:将字符串"a-z"往左循环移k位

解密:将字符串"a-z"往右循环移k位

/***************************************************************
*Name            :StringEncrypt
*Fun             :字符串加密
*InputParaments  :data是待加密的数据;k代表循环往左移k位
*OutputParaments :None
****************************************************************/
void StringEncryp(char* data, int k) {
	char* p = data;
	k = k % 26;
	while (*p) {
		*p = *p - k < 'a' ? *p - k+26 : *p - k;
		p++;
	}
}
/***************************************************************
*Name            :StringDecrypt
*Fun             :字符串解密
*InputParaments  :data是待解密的数据;k代表循环往右移k位
*OutputParaments :None
****************************************************************/
void StringDecrypt(char* data, int k) {
	char* p = data;
	k = k % 26;
	while (*p) {
		*p = *p + k > 'z' ? *p + k-26 : *p + k ;
		p++;
	}
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!