Pergunta

Parece que não há Blowfish em C # que faria o mesmo que esta .Assim eu decidi para usá-lo como um link externo e se ele não funciona novamente, em seguida, traduzir todo o Blowfish em C #. Mas primeiro eu vou tentar usar como um link externo.

Você poderia dar uma olhada na C ++ blowfish e diga-me se eu tiver que mudar os parâmetros da função ( alguns deles são LPBYTE, que não está incluído no C #).

Além disso, eu ficaria grato se você me disser como usá-los como uma dll externa (eu tê-lo compilado como já uma dll), mas os parâmetros da função em C ++ está me frustrando.

Editar: Eu preciso chamar única Inicializar, Encode e Decode.

Agradecemos antecipadamente!

Foi útil?

Solução

Eu tive um problema semelhante a este em um projeto anterior. Tendo olhei para o código C ++, ele está usando BCE como você suspeita em seu post anterior. Acho que vejo a razão pela qual você obter resultados diferentes usando Blowfish.NET (sugestão de Arkain). O código C ++ lança as entradas em duas DWORDs, uma vez que encripta. Acredito Blowfish.NET estará fazendo a coisa certa, preservando a ordem de bytes nas DWORDs ele usa internamente para encipher.

Por exemplo: Em código C ++, os bytes 0102030405060708 tornar 0x04030201 e 0x08070605. A implementação do .NET será tornar 0x01020304 e 0x05060708.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top