これは私にとって困惑であり、私はそれを解決できないと本当に迷惑です!だから、誰かが自由な時間を持っているなら、私はここでそれを解決する方法の提案をしたいと思います!この文字列はBase64ですか?どのようにエンコーディングが使用されているのかわかりますか?
パスワードをOracleデータベースに格納するソフトウェアを使用します。パスワードフィールドのタイプは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でエンコードされていないということです。 wikipedia(https://en.wikipedia.org/wiki/Base64)を確認した後、Base64でエンコードされた文字列は固定サイズではないようです。 2番目の考えは、文字列が暗号化されてBase64にエンコードされていることです。そのため、私は奇妙に見えるデコードされた文字列を取得します。
アイデア?
これは 'len(base64.b16encode(base64.b64decode( 'cRDtpNCeBiql5KOQsKVyrA0sAiA =')))' 'が' 40'でsha1ハッシュのbase64エンコードである可能性がありますか? –
すべての制約(最小長、最大長、アルファ、大文字、数字、特殊文字など)を知っているので、SHA1ハッシュをパスワードに解読することは難しいでしょうか(OK、それは本当に解読されません)...たぶん私は別の質問をする必要があります! :) –
ダンなぜ私はあなたが説明することができますb16encodeを使用して理解していない? –