私は、顧客が会社の詳細を更新できるように小さなWebアプリケーションを構築しています。顧客は現在ログイン/パスワードを持っていないため、登録を検証したくないので、ウェブサイトにログインするために自動的に生成されたパスワード/キーを与えたいと考えています。intから短い文字列への双方向の暗号化
私たちは、顧客IDを暗号化して顧客に渡し、その鍵をウェブアプリケーションに入力できるようにして、鍵を自分のIDに復号化できるようにします。
約10Kの顧客がいて、すべてが電子メールを持っているわけではないため、URLとコードの文字を受け取るものもあります。つまり、顧客はコードを入力する必要があるため、コードは8文字(好ましくは6文字)を超えることはできません。
ここでは、空のテンプレートです:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int passwordLength = 6;
int customerId = 12345;
string encrypted = Crypter.Encrypt(customerId, "secretKey", passwordLength);
if (customerId == Crypter.Decrypt(encrypted, "secretKey"))
{
Console.WriteLine("It worked! Well done!");
}
}
}
public static class Crypter
{
public static string Encrypt(int input, string key, int passwordLength)
{
string encryptedString = "";
//do encrypt stuffz here
return encryptedString;
}
public static int Decrypt(string encryoted, string key)
{
int decrypted = 0;
//do decrypt stuffz here
return decrypted;
}
}
}
=>誰もがこれを行う方法についての詳細を私にリンクできますか?
私は "plz send me teh codez"を探しているわけではありませんが、誰かがすでにこのようなことをしている場合は、気軽に共有してください。
ありがとうございます。
うーん、私たちは考えていないいくつかの事.. これは良い解決策のようなソーダ。私はちょうどデータベーステーブルを除いてIDとの関係を決して持っていないランダムな文字列を作成することができます。非常に安全で、このプロジェクトでは実装するのに問題はありません。ありがとう! –
何らかの理由で顧客IDを変更する必要がある場合(新しいストレージバックエンドへの移行)、「ログイントークン」を変更する必要はありません。 –