1

このCコードの逆を使用してユーザーパスワードを暗号化するWindowsアプリケーションがあります(以下のデコード):

static void PasswordDecode(char * szPassword)
{
char szEncode[1024];
char strDecodePass[_MAX_BUF_LEN + 1]={""}, strPass[_MAX_BUF_LEN + 1]={""};
strcpy(strDecodePass, szPassword);
for(unsigned int i = 0; i < strlen(strDecodePass)/3; i ++)
{
char szCode[_MAX_BUF_LEN + 1];
strcpy(szCode, strDecodePass + i * 3);
szCode[3] = 0;
int nCode = atoi(szCode);
nCode = 999 - nCode;
sprintf(szEncode, "%c", nCode);
strcat(strPass, szEncode);
}

strcpy(szPassword, strPass);

return;
}; 

私が探しているのは、このアルゴリズム (ただし PHP を使用) を使用してパスワードをエンコードし、ユーザー アカウントをアプリケーションにインポートできるようにする機能です。

誰でも助けることができますか?

ティア・ジム

4

1 に答える 1

2

簡単:

function PasswordEncode($str)
{
    $enc = "";
    for ($i = 0; $i < strlen($str); $i++) {
        $enc .= sprintf("%03d", 999 - ord(substr($str, $i)));
    }
    return $enc;
}

そして、キックのために:

function PasswordDecode($str)
{
    $dec = "";
    for ($i = 0; $i < strlen($str); $i += 3) {
        $dec .= chr(999 - substr($str, $i, 3));
    }
    return $dec;
}

余談ですが、これを「暗号化」と呼ぶのは誇張です。これは完全に安全ではなく、暗号化されたパスワードを見るだけで、おそらく 5 分ほどかかるでしょう。

于 2012-10-30T21:45:24.123 に答える