Go - Расшифровка пароля, закодированного twofish

Я использую code.google.com/p/go.crypto/twofish и хочу расшифровать пароль, полученный из базы данных. Пароль был зашифрован PHP и закодирован base64. В Go я декодирую с помощью base64, конвертирую в [] байт, и я пытался расшифровать его, но что-то пошло не так. Мое возвращение пусто. Это мой код:

func TwofishDecrypt(key, text []byte) ([]byte, error) {
    block, err := twofish.NewCipher(key)
    if err != nil {
        return nil, err
    }

    if len(text) < twofish.BlockSize {
        return nil, errors.New("ciphertext too short")
    }

    iv := text[:twofish.BlockSize]
    text = text[twofish.BlockSize:]
    cfb := cipher.NewCFBDecrypter(block, iv)
     cfb.XORKeyStream(text, text)
     data, err := base64.StdEncoding.DecodeString(string(text))
     if err != nil {
        return nil, err
    }

    return data, nil
}

0 ответов

Другие вопросы по тегам