Это загадка для меня, и я действительно раздражен тем, что не могу ее решить!Поэтому, если у кого-то есть свободное время, я хотел бы высказать несколько советов о том, как его решить!
Я использую программное обеспечение, которое хранит пароль в базе данных оракула.Поле пароля имеет тип Varchar2 (100 символов).Мне кажется, что программное обеспечение кодирует пароли и сохраняет закодированную строку в базе данных.
Мой пароль - «1234», а закодированная строка - «cRDtpNCeBiql5KOQsKVyrA0sAiA =».Все пароли в базе данных имеют длину 28 символов.
Задача, которую я сам себе назначил, - найти кодировку и / или шифрование строки.Моя первая проверка была на Base64
Итак, вот мой первый тест на python (простоя):
>>> import base64
>>> encoded = 'cRDtpNCeBiql5KOQsKVyrA0sAiA='
>>> decoded = base64.b64decode(encoded)
>>> decoded
'q\x10\xed\xa4\xd0\x9e\x06*\xa5\xe4\xa3\x90\xb0\xa5r\xac\r,\x02 '
>>> print decoded
qíᄂО*ᆬ䣐ᄚᆬrᆲ
,
Вот мой второй тест:
>>> myString = '1234'
>>> encoded = base64.b64encode(myString)
>>> encoded
'MTIzNA=='
>>> decoded = base64.b64decode('MTIzNA==')
>>> decoded
'1234'
Итак, первая мысль о том, что это не кодировка Base64.После того, как я проверил Википедию (https://en.wikipedia.org/wiki/Base64), кажется, что строки, закодированные в Base64, не имеют фиксированного размера. Моя вторая мысль заключается в том, что строка была зашифрована, а затем закодирована в Base64, и именно поэтому я получаю странно выглядящую декодированную строку.
Есть идеи?