524443834 发表于 2013-1-23 17:47:02

谁能把C++的这个算法改成AU3

C++代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void EnCode(char* lpstr);
int main()
{
    char str="";
    printf("河南网通用户名转换工具n请输入用户名:n");
    scanf("%s",str);
    EnCode(str);
    printf("真实的登录账户为:n2:%sn",str);
    return 0;
}
void EnCode(char* lpstr)
{
    char cas_str[]=
    "9012345678abcdeABCDEFGHIJKLMNfghijklmnUVWXYZxyzuvwopqrstOPQRST";
    int cas_str_buffer;
    int cas_esi = 37;
    char src_str="",dec_str="";
    int k=0;
    int cas_eax,cas_edx;
    div_t x;
    unsigned int i,j;
    cas_str_buffer=25;
    cas_str_buffer=35;
    cas_str_buffer=182;
    cas_str_buffer=236;
    cas_str_buffer=43;
    cas_str_buffer=41;
    cas_str_buffer=53;
    cas_str_buffer=18;
    cas_str_buffer=226;
    cas_str_buffer=215;
    cas_str_buffer=24;
    cas_str_buffer=117;
    cas_str_buffer=35;
    cas_str_buffer=201;
    cas_str_buffer=52;
    cas_str_buffer=17;
    strcpy(src_str,lpstr);
    for ( i=0;i<strlen(src_str);i++)
    {
      for(j=0;j<strlen(cas_str);j++)
      {
            if (src_str==cas_str)
            {
                if(i<16) cas_eax=cas_str_buffer;
                else
                {
                  x=div(i,16);
                  cas_eax=cas_str_buffer ;
                }
                cas_edx=cas_esi+cas_esi*2 ;
                cas_eax=cas_eax^cas_edx;
                cas_eax=cas_eax^k;
                cas_eax=cas_eax+j;
                x = div(cas_eax,62);
                dec_str=cas_str;
                cas_edx=x.rem ;
                cas_esi=cas_esi^(cas_edx+9433);
                break;
            }
      }
      if(dec_str==NULL)
      dec_str=src_str;
      k=k+5;
    }
    strcpy(lpstr,dec_str)联通的账号加密算法,有点绕

hglikun 发表于 2014-3-8 14:24:19

需要做吗?
页: [1]
查看完整版本: 谁能把C++的这个算法改成AU3