String shift encryption and decryption

Encryption: string "az" k-bit left cyclic shift

Decryption: string "az" k bit right circular shift

/***************************************************************
*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++;
	}
}
Published 33 original articles · won praise 47 · views 10000 +

Guess you like

Origin blog.csdn.net/qq_39545674/article/details/104087279