序文
生活の中で良い習慣を配合強力なアシスタントを生産することです。
2020 パートVIIIの今年の旗を続け記事、:記事は少なくとも毎週で更新。
今日の質問は、1株の内部から来るパスワードの問題を保存します。
インターネット時代、アプリやウェブサイトの接触では毎日があまりにも多く、シーンのほとんどは、アカウントのパスワードが必要です登録しました。
パスワードの生成と貯蔵は、日常生活の事では一般的になりました。
友人の多くは、何人かの友人とメモリオプションは以下の3つのパスワードに設定されている。このような状況に直面して、私は本当にあまり覚えていないことができます。時にはまた、このような一般的な弱いパスワード123456,123123などのような非常に弱いパスワードを設定します。友人の別の部分は、検索およびコピーするために時間を使用し、各サイトやアプリのパスワードがそれぞれローカルに保存されている、またはクラウド(ネットワークディスクまたはファイル)に同期されます入れます。
いくつかの問題があるという観点から、このパスワード生成と貯蔵、セキュリティと使いやすさ。
A.パスワードジェネレータとストレージセキュリティ
1.マルチアプリケーションに類似/同一のパスワード
パスワードの同じセットを使用するユーザーを節約するために、しかしため、パスワード生成、トラブルの保管の安全と健康の要求のためのパスワードシステム自体は、Aのリスクポーズ「ヒットライブラリーを。」データやさまざまなケースも昼と夜の攻撃「ライブラリを襲った」私たちの側に同行していたことを証明している、それは素晴らしいサイズと専門を持っています。
我々は、Webサイトにログオンするなど、文字通りに解釈中国人によると、多くの場合、機密データを大量に保存するために「衝突データベース」と「データベース」である「ライブラリをヒットする」、電話番号、IDとして、ユーザー名、パスワードが必要です番号やその他の個人情報。主なライブラリは通常のアプリケーションのフォームをログインすることで、アカウントのパスワードの既存のリストをシーンを打つことです、正しいユーザ名/パスワードの組み合わせを取得しようと、大きな方言は「ハッキング」です。これは、ハッキング攻撃の唯一の目的は、ライブラリがヒットしないことは注目に値する、ヒットライブラリーのサイトで共通の目的がある登録済みのアカウントことを確認してください。
図書館は私たちからそれを離れて打ちますか?実際の状況?事実は、このような例はまれではないことを証明しています。
- 個人情報、銀行カードのセキュリティコードやその他の情報の漏洩CWにつながる技術的な欠陥の出現のためにCtripの、
- ミレーは、情報キビフォーラムの800万人の登録ユーザーを含む、ユーザデータが漏洩したバースト
- 宅配会社の数は爆発サイトをハッキングした脆弱性が存在してきた、1400万個人情報が漏洩しているがあります
- Zhaopin 86万ユーザーがリークを再開します
- 顧客の注文の東方航空多数リーク
- 12306列車の予約サイトでは、ライブラリを襲いました
近年物事デバイスの爆発的な増加に伴い、大幅全面への脅威と、同社の脆弱性を高め、データトラフィックの不足のために広範囲の可視化につながりました。データ侵害は、侵入に人気のある方法となって、近年では、ライブラリを襲った攻撃につながる、増加し続けます。
2.パスワード保存
パスワードは説明の序文に格納されているどのように、それぞれローカルに保存されている、またはクラウド(ネットワークディスクまたはファイル)、検索およびコピーするために時間を使うに同期され、各サイトやアプリのパスワードに友人があるだろう、これもあります問題があります。
-
両方の自宅や、それは非常に面倒になりますパスワードを使用して、仕事の場所でローカルストレージ、マルチプラットフォームの同期化する方法は、使いやすさが悪いとき。
-
クラウドなど、多くのネットワークディスクやオンラインドキュメントツールなどの同期は、パスワードを格納するために使用することができ、あなたはまた、複数のプラットフォームを同期させることができますが、あなたのデータを保証することはできませんベンダーを問わずが危険にさらされることはありません、とパスワードを使用するたび、あなたは開く必要がありますパスワードのストレージアプリケーションは多くの困難感を見つけるために検索します。
2つのユーザー側のソリューション
思考
アドレスセキュリティ上の問題は主に衝突ライブラリを防ぐために、パスワードを生成し、最善の方法は、次のような、非常に高いことが異なるパスワードやウェブサイトのパスワードの強度を持つ、もちろん異なるサイトである数字と大文字と小文字を持っている必要がありますパスワード。
もちろん、どのように心の中で多くのパスワードそう?この問題は、パスワードを格納する必要、私の個人的なアドバイスをされた店にはない、たびに自動的に生成されたので、あなたのパスワードを覚えて、漏れた心配しないではありません。参考https://github.com/ls0f/pwmいくつかのアイデアを提供するためのオープンソースプロジェクト、:
ユーザーは、スプライシングは、ドメインは、ドメイン名であるSHA1、アカウントのアカウント名を生成し、SHA1を取る(塩+ドメイン+アカウント)に応じて、「塩」戦略でパスワードを生成し、塩、さまざまなウェブサイトのパスワードを覚えておく必要がありますパスワードを生成するために、フロント15、その後、一定のルール変換とデジタルの場合、強力なパスワードを満たすサイトの要件。
このように、限り、あなたの塩の安全とパスワードは安全です。
ショーコード
私たちはPythonとjsの実装を提供するの下には、我々はあなたがランダムなパスワードを生成することができそうということで、あなたのVPSやgithubのページにページを展開することができます。
Pythonの:
def gen_passwd( raw):
if sys.version_info > (3, 0):
h = hmac.new(self.key.encode(), raw.encode(), sha1)
base64 = b64encode(h.digest()).decode()
else:
h = hmac.new(self.key, raw, sha1)
base64 = h.digest().encode("base64")
_passwd = base64[0: self.passwd_length]
return _format_passwd(_passwd)
def _format_passwd(passwd):
# 格式化密码,必须包含大小写和数字
self.num_str = "0123456789"
self.low_letters = "abcdefghijklmnopqrstuvwxyz"
self.upper_letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
passwd = passwd.replace("+", '0')
passwd = passwd.replace("/", '1')
list_passwd = list(passwd)
if re.search(r"[0-9]", passwd) is None:
list_passwd[-3] = self.num_str[ord(passwd[-3]) % len(self.num_str)]
if re.search(r"[a-z]", passwd) is None:
list_passwd[-2] = self.low_letters[ord(passwd[-2]) % len(
self.low_letters)]
if re.search(r"[A-Z]", passwd) is None:
list_passwd[-1] = self.upper_letters[ord(passwd[-1]) % len(
self.upper_letters)]
return ''.join(list_passwd)
gen_passwd("salt+domain+account")
ジャバスクリプト:
function gen_passwd(key, raw){
var shaObj = new jsSHA("SHA-1", "TEXT");
shaObj.setHMACKey(key, "TEXT");
shaObj.update(raw);
var hmac = shaObj.getHMAC("B64");
console.log(hmac);
var passwd = hmac.substring(0, 15);
console.log(passwd);
passwd = passwd.replace("+", '0');
passwd = passwd.replace("/", '1');
console.log(passwd);
passwd="abcdefg123789123";
var list_passwd = passwd.split('');
if (!RegExp("[0-9]").test(passwd)){
console.log("[0-9]",passwd[13]);
list_passwd[13] = "0123456789"[passwd[13].charCodeAt(0) % 10]
console.log("[0-9]",list_passwd[13]);
};
if (!RegExp("[a-z]").test(passwd)){
console.log("[a-z]",passwd[14]);
list_passwd[14] = "abcdefghijklmnopqrstuvwxyz"[passwd[14].charCodeAt(0) % 26]
console.log("[a-z]",list_passwd[14]);
};
if (!RegExp("[A-Z]").test(passwd)){
console.log("[A-Z]",passwd[15]);
list_passwd[15] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[passwd[15].charCodeAt(0) % 26]
console.log("[A-Z]",list_passwd[15]);
};
// charCodeAt
var final_passwd = list_passwd.join('');
console.log(final_passwd);
return final_passwd;
}
ページのテスト展開ビットは、もはやすべての検索パスワードを覚えておく必要がありません。
III。ベンダー側溶液
要するに、従来のアカウントのパスワードシステム、モバイル着陸せずに、着陸の二次元コードは非常に優れています。
遂に
いいえ世間の注目ません:7泊セキュリティブログ
[1]を返信:Pythonのデータ解析チュートリアルまくる取得するには
、[2]の応答を:チュートリアルのPythonのフラスコフルセットを取得するには
、[3]を返信:チュートリアル学習大学のマシンを取得する
返信を[4]:爬虫類チュートリアル受け取る
コンパイラ理論のチュートリアルを受ける:返信[5]
返信[6]:浸透はもちろんテスト受け取る
回答が[7]:人工知能数学基礎講座を受けます
この記事では、オリジナル作品に属し、共有に転載記事の内容は禁止されている変更を歓迎します。オリジナルの尊重、から指定してください再現:7泊物語http://www.cnblogs.com/qiyeboy/