Как найти исходные значения обратно из конечного результата вывода последовательных процедур Xor? - PullRequest
0 голосов
/ 25 августа 2010

Проблема в том, что я хочу получить исходные значения B или исходное значение C или A. Вот код:

    Dim strA As String = "A"
    Dim strB As String = "B"
    Dim strC As String = "C"
    Dim result As Byte = 0

    ' Fetch the byte character code of strings and Xor them all into the result in a sequence.
    result = result Xor AscW(strA)
    result = result Xor AscW(strB)
    result = result Xor AscW(strC)

    ' the final result value is 64

Как это сделать?Пожалуйста, помогите мне с правильным решением этой проблемы.Если может быть другой параметр, который при применении с формулой может показать исходные значения: «A», «B», «C».Спасибо.

1 Ответ

1 голос
/ 25 августа 2010

Если я правильно понимаю ваш вопрос, это просто невозможно. Есть несколько способов разбить result обратно на strA, strB и strC.

Чтобы было легче понять почему, рассмотрите дополнение. Предположим, что вы начинаете с A = 5, B = 6 и C = 7. Сумма равна 18. Теперь предположим, что вы начинаете с A = 1, B = 1 и C = 16. Сумма по-прежнему равна 18. Итог: если все вы Имеется «18», нет способа разделить его обратно, потому что несколько входов дают один и тот же выход.

...