SHA 256暗号化の表示明文パスワードの偽処理方法


PS:今日SHA 256暗号化の問題を発見しました.まだ多くの人が注目しています.声明は私個人の処理にすぎず、暴力的に解読すれば簡単に解けますが、オンラインやビジネス用途のプロジェクトでなければ、このような特殊なニーズ(一般的にはフロントエンドでユーザーのパスワードを表示する必要はない)に遭遇すれば、これも一つの方法だと思います.私がブログを書く目的は、人を助けることができることを望んでいますが、人を誤解したくないので、ここで説明します.
また、このような明文を格納するパスワードはデータベースに格納されているだけで、つまりフロントバックグラウンドのパスワードの暗号文転送かSHA 256暗号化された暗号文かは、データベースから取り出すときにアルゴリズムで再解析する必要があります.これは少しいじめですが、一般的なデータベースは攻撃されません.フロントバックグラウンドデータ間の転送は安全なSHA 256暗号化方式です.
久しぶりにブログを书きました!!今日は記録しておきます!!!
今日1つのSHA 256パスワードの暗号化に出会った後に、私はまたパスワードを見て、これはどのように処理しますか?SHA 256はMD 5と同様に一方向暗号化されており,アルゴリズムによる復号化が実現されれば,現在は理論的に不可能である.しかし、開発者であれば、SHA 256の暗号化後は256ビット、つまり64文字なので、ここから手をつけることができます.解決策は、暗号化された暗号文にパスワードを隠すことです.自分だけが知っているソート方法を設定することができます.復号すると、自分のソート方法でパスワードを「掘り出す」ことができます.
私が処理したjavaコードを添付します
        //  
	public static String SHA256(String param) {
		String pwd256=DigestUtils.sha256Hex(param);
		StringBuffer pwd=new StringBuffer(pwd256);
		return pwd.toString();
	}
	//  
	public static String decryPwd(String param)
	{
		String pwd=StringUtils.substring(param,64);
		return pwd;
	}

実は原理はとても简単で、私のした処理はパスワードを暗号化した后の密文の后ろに置いて、復号するならば直接64番目の文字を切り取って始めます.
このような処理方法は確かに少し軽率に見えますが、確かに私の問題を解決しましたが、安全係数は低いです.だからもう少し複雑にして、原理はパスワードを文字に分解して、一定の規則に従って暗号文に挿入して、復号するならばこのような規則に従って文字のつなぎ合わせを取ればいいのです.
私が処理したjavaコードを添付します
public static String SHA256_3(String param)
	{
		char paramChars[]=param.toCharArray();
		String pwd256=DigestUtils.sha256Hex(param);
		System.out.println("pwd256:"+pwd256);
		char pwd256Chars[]=pwd256.toCharArray();
		int ss=0;
		int ss2=0;
		collations=new ArrayList<>();
		collations.add(5);
		//   3     ,        16 ,      
		for(int i=0;i

書くのは少し複雑で、論理は少し乱れていますが、やはり使えます!パスワード6-16ビットは使えます!