ROT-13加密算法

ROT-13加密算法也即是它的解密算法,即该算法经加密后的密文再次加密即可得到明文,属于弱加密算法。

该算法形式为,将英文字母字符从n和N作为分界点,n(N)之前的字母向后移动,即a->n,A->N,B->O,而n(N)即n(N)之后的字母向前移动,即n->a,M->B,这样即可实现加密一次得到密文,加密两次得到明文的效果。

算法如下:

#include 

using namespace std;

int main()
{
    string s;
    getline(cin, s);
    for(int i = 0; i < s.size(); i++)
    {
        if((s[i] < 'N' && s[i] >= 'A') || (s[i] < 'n' && s[i] >= 'a'))
        {
            s[i] -= ('A' - 'N');
        }
        else if((s[i] >= 'N' && s[i] <= 'Z') || (s[i] >= 'n' && s[i] <= 'z'))
        {
            s[i] -= ('N' - 'A');
        }
    }
    cout << s;
    return 0;
}

 

你可能感兴趣的:(加解密)