私はRishabhであり、Pythonプログラミング言語の初心者です。私はPythonを使用して認証プログラムの一種を作成しようとしました。ここで ウェブサイトに格納された文字列からベース64の暗号化された文字列をマッチさせることができません:Pythonプログラム
は、私は私のプログラムでやっている何:
- は、私はのような2つの文字列を連結するユーザー名とパスワード
- を得る:
- その後###ユーザー名:::パスワードI (私はbase64エンコーディングに慣れていませんし、私は以下のPythonプログラムで使用したすべてのツールの初心者です)
- 暗号化されたStringを取得しました。 https://pastarchive.blogspot.in
暗号化された文字列をページのHTMLコード内に隠されたテキストとして保存されています:
<span style="background-color: white; display: none;">HELLO !! POST</span><br />
<span style="background-color: white; display: none;">HELLO !! POST</span><br />
<span style="background-color: white; display: none;">HELLO !! POST</span><br />
<span style="background-color: white; display: none;">HELLO !! POST</span><br />
<span style="background-color: white; display: none;">HELLO !! POST</span><br />
<span style="background-color: white; display: none;">IIKTxK6FBJC+or4JPyQqSI0BrAevMJix//LSgGyoiETg=</span><br />
<span style="background-color: white; display: none;">4M3CXPZGRKUsQRqbaOPd/gajp6XD9irrM2pQ8N9MHyM=</span><br />
<span style="background-color: white; display: none;">F5uxniPOSEiU2h/v1QreAx1+hXzW7GRRcJS15kYE/EM=</span><br />
<span style="background-color: white; display: none;">mAHuxBo7URh0QcRswXTccxq/sMTUNfbqmSaiopZxzuA=</span><br />
あなたは上記のHTMLコードで参照ランダムな文字は、ウェブサイトからです:
- 私がしているのは、前にも述べたようにプログラム内に暗号化された文字列を作成し、その文字列がWebサイトに存在するかどうかを確認するだけです。表示されている場合は、「正常にログインしました」というメッセージが表示され、表示されない場合は「ログインに失敗しました」と表示されます。
正確に暗号化された文字列がWebサイトに存在します。
あなたが理解できるように
1.アカウントSucessfullyログのコードをダウンロードし、それを実行してください:ユーザー名がある
:USERパスワードはです。 TEMPPASS
このアカウントは、私が思った通り完璧に動作します
2。妙に動作しないアカウント:
ユーザー名はです:
パスワードUSER2です:最初のアカウントは完全に正常に動作以降が失敗した理由をCLR
は、誰かが私に言うことはできますか?そして、どうすればこの問題を解決できますか?私が初心者であるので、この問題を解決するために私を導いてください。
は...そのだけのローカルアカウントを検証..管理者アカウントで混乱してはいけない
コード:
import requests
from getpass import getpass
from bs4 import BeautifulSoup
import re
import csv
import time
from Crypto.Cipher import AES
import base64
counter =1
counter2=1
import requests
import urllib2
from bs4 import BeautifulSoup
import re
print("\nPlease Authenticate Yourself:")
#print("Welcome to Mantis\n")
user = raw_input("\nEnter Username:")
password= getpass("\nEnter Password:")
print "\n...................................................................."
matchstring="###"+user+":::"+password
matches=""
chkstr=matchstring
print chkstr
###Encryption
msg_text = chkstr.rjust(32)
secret_key = '123456789'
cipher = AES.new(secret_key,AES.MODE_ECB)
encoded = base64.b64encode(cipher.encrypt(msg_text))
#encoded = encoded.encode('string-escape')
print "Encrypted Text: \n"+encoded
##print matchstring #data sent for Authentication
if encoded == "OiKUr4N8ZT7V7hZlwvnXP2d0F1I4xtktNbZSpNotJh0=":
print "\nHello Rishabh !! Is the Login Portal Locked ?"
print "\n\nAdministrator Access Granted"
counter2=2
if counter2==1:
###https://pastarchive.blogspot.in
###https://pastarchive.wordpress.com/2016/10/08/hello/
html_content = urllib2.urlopen('https://pastarchive.blogspot.in').read()
rematchstring=re.compile(encoded)
matches = re.findall(encoded, html_content);
if len(matches) != 0 or counter2==2:
print 'Sucessfully Logged in\n'
print 'Hello '+user.upper()+" !\n"
if user.upper()!="ADMINISTRATOR":
print "Thanks in Advance for using Eagle, the Advanced Data Parsing Algorithm."
print "\nCreator - Rishabh Raghunath, Electrical Engineering Student, MVIT\n"
time.sleep(1)
print "Let's Start !\n"
print ".....................................................................\n"
if len(matches) == 0:
print '\nUserName or Password is Incorrect\n'
print "Please Check Your mail in case your Password has been Changed"
print "Log in failed.\n"
time.sleep(5)
この奇妙な問題で私を助けるためにしてみてください。私はこれを解決するための手がかりを持っていません.. ありがとう。
Base64は暗号化ではないエンコードです。このようなデータをWebページHTML(非表示または非表示)に保存することは、このエンコーディングが双方向で誰にでもクリアテキストとして読み取ることができるため、良い考えではありません。 – marekful
@marekfulはい..私は知っている..私はスーパーセキュアなアプリケーションを構築しようとはしていない。これはちょうど私がやっている小さなプロジェクトのためであり、3人または4人だけで使用されます...そして、誰もこのファイルをexeファイルにパッケージ化して誰もがプログラムのソースコードを表示する。この問題の修正方法を教えていただけますか? –
'print()'を使って変数の値を見てください。問題を見つけるのに役立ちます。 – furas