溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言字符串的加密與解密技術(shù)

發(fā)布時間:2024-08-30 12:59:44 來源:億速云 閱讀:124 作者:小樊 欄目:編程語言

在C語言中,字符串的加密和解密通常是通過對字符串中的每個字符進行一定的操作來實現(xiàn)的。以下是一種簡單的加密和解密技術(shù):

  1. 加密:將字符串中的每個字符按照一定的規(guī)則進行轉(zhuǎn)換。例如,將每個字符向后移動3位(即加上3)。這里需要注意的是,當字符超過’z’或者’Z’時,需要從頭開始計算。
#include<stdio.h>
#include<string.h>

void encrypt(char *str) {
    int len = strlen(str);
    for (int i = 0; i < len; i++) {
        if (str[i] >= 'a' && str[i] <= 'z') {
            str[i] = (str[i] - 'a' + 3) % 26 + 'a';
        } else if (str[i] >= 'A' && str[i] <= 'Z') {
            str[i] = (str[i] - 'A' + 3) % 26 + 'A';
        }
    }
}
  1. 解密:將加密后的字符串中的每個字符按照相反的規(guī)則進行轉(zhuǎn)換。例如,將每個字符向前移動3位(即減去3)。同樣需要注意,當字符小于’a’或者’A’時,需要從尾部開始計算。
void decrypt(char *str) {
    int len = strlen(str);
    for (int i = 0; i < len; i++) {
        if (str[i] >= 'a' && str[i] <= 'z') {
            str[i] = (str[i] - 'a' - 3 + 26) % 26 + 'a';
        } else if (str[i] >= 'A' && str[i] <= 'Z') {
            str[i] = (str[i] - 'A' - 3 + 26) % 26 + 'A';
        }
    }
}

使用示例:

int main() {
    char str[] = "Hello, World!";
    printf("Original string: %s\n", str);
    
    encrypt(str);
    printf("Encrypted string: %s\n", str);
    
    decrypt(str);
    printf("Decrypted string: %s\n", str);
    
    return 0;
}

輸出結(jié)果:

Original string: Hello, World!
Encrypted string: Khoor, Zruog!
Decrypted string: Hello, World!

這只是一種簡單的加密和解密技術(shù),實際應用中可能需要更復雜的算法。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI