SQLデータベースのクレジットカード情報を暗号化する方法

あなたのビジネスのデータベースにあるクレジットカード情報は、暗号化すればはるかに安全です。 この情報をプレーンテキストとして格納すると、悪意を持っていないユーザは、オンラインのSQLクエリまたはデータベースサーバのハードドライブ上のファイルをスキャンすることによって、簡単にデータを盗むことができます。 MicrosoftのSQL Serverデータベースソフトウェアは、2つの使いやすい機能を提供します。1つはパスフレーズを使用してデータを暗号化し、もう1つは同じパスフレーズを使用してデータを復号化します。 SQLのINSERT文、SELECT文、およびUPDATE文でこれらの関数を使用して、情報を暗号化形式で格納および取得します。

1。

「スタート」ボタンをクリックしてください。 [すべてのプログラム]セクションの[Microsoft SQL Server]にカーソルを移動し、[SQL Server Management Studio]をクリックします。 これによりManagement Studioプログラムが起動し、[サーバーに接続]ダイアログボックスが表示されます。

2。

[サーバーに接続]ダイアログでSQLサーバーコンピュータのエントリをクリックして選択します。 [認証]プルダウンリストを[Windows認証]に設定し、[接続]ボタンをクリックします。

3。

Management Studioのツールバーの[新しいクエリ]をクリックします。 これにより、画面の右側にテキストエディタが開きます。

4。

暗号化されたクレジットカード情報を格納するデータベーステーブルに "VARBINARY"データフィールドを追加します。 以下のSQLコードをガイドとして使用してください。

ALTER TABLE customer_info ADD cc_number VARBINARY(100)NULL。

このコードを実行するには、[実行]記号(Management Studioツールバーの緑色の右向きの三角形)をクリックします。 これにより、100バイトの可変バイナリー・フィールド「cc_number」が既存のテーブル「customer_info」に追加されます。 暗号化関数はテキストと数値データをバイナリに変換するので、テーブルはデータを保持するためにバイナリフィールドを必要とします。

5。

次の例のように、 "Encryptbypassphrase()"関数を使用してクレジットカード情報を暗号化し、テーブルにレコードを追加します。

INSERT INTO customer_info( 'customer_id'、 'name'、 'cc_number')値( '50120'、 'Sam Jones'、Encryptbypassphrase( 'secretcode'、 '1212704331100'));

「実行」記号をクリックします。 これにより、Sam Jonesのcustomer_infoテーブルに、クレジットカード番号が1212704331100のレコードが追加されます。 "Encryptbypassphrase"関数は、 "secret code"パスワードを使用してクレジットカード番号を暗号化されたバイナリフィールドに変換します。

6。

SQL SELECTステートメントでレコードを読みます。 クレジットカード情報を取得するには、 "Decryptbypassphrase()"関数を使用して、元のパスフレーズを渡します。 パスフレーズがないと、暗号化されたデータは判読できません。 クレジットカード番号を復号化した後、 "Convert()"関数を使ってバイナリデータを文字に変換します。 SELECT文は次のようになります。

SELECT名、Convert(varchar(20)、Decryptbypassphrase( 'secretcode'、cc_number))FROM customer_info WHERE customer_ID = '50120';

SELECT文を実行するには、「実行」記号をクリックします。

人気の投稿