求一个C语言实现的移位加密代码

求一个C语言实现的移位加密代码,第1张

char getkey(char txt) { char e = "dfwkekgodsfdfwkdsf"//一定位数的字符串,比如32位 int ctr=0char tmp = ''for (int i=0i<strlen(txt)i++) { if (ctr == strlen(e)) ctr=0//瞎竖当ctr长度为上面 e 的长度时,重新置为0 tmp += substr(txt,i,i+1) ^ substr(e,ctr,ctr+1)//将 txt的第i个宽磨字符 与 e 的第 ctr个字符 异或运算 并添加入 tmp字串中 ctr++// ctr 自增 } return tmp//返回得到的tmp字串 } char encrypt(txt) { srand((double)microtime()*1000000)//设置时间种子 char encrypt_key = md5(rand(0,32000))//磨巧大得到32为加密字串; 这里目的就是每次运行时得到的字串都不一样 int ctr=0int tmp = ""for (int i=0i<strlen(txt)i++) { if (ctr==strlen(encrypt_key)) ctr=0tmp += substr(encrypt_key,ctr,ctr+1) . (substr(txt,i,i+1) ^ substr(encrypt_key,ctr,ctr+1))ctr++} return getkey(tmp)} char decrypt(txt) { char txt = getkey(txt)char tmp = ""for (int i=0i<strlen(txt)i++) { md5st = substr(txt,i,i+1)i++tmp += (substr(txt,i,i+1) ^ md5st)} return tmp}

#include <stdio.h>

int main()

{

    int 清敏a,b

    scanf("%d",&a)

    b=0

    do

    {

        b=b*10+(a%10+2)%10

  知正游      a/=10

    }while(a)

    for(a=0bb/=10)

    搭销{

        a=a*10+b%10

    }

    printf("%d\n",a)

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12567578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存