ホームページ > ウェブフロントエンド > jsチュートリアル > Web ツールでの安全な暗号化のための JavaScript の使用

Web ツールでの安全な暗号化のための JavaScript の使用

WBOY
リリース: 2024-08-17 15:20:07
オリジナル
981 人が閲覧しました

これは、プログラム内の機密情報を潜在的な攻撃者から保護するために開発者が使用する方法です。暗号化により、読み取り可能なデータが、正しいキーを使用しないと復号できないコード化された形式に変更されます。したがって、パスワード、財務詳細、個人データなどの情報を保護することは非常に重要です。

データ侵害やサイバー攻撃が蔓延している時代には、これは非常に重要になります。データを暗号化することで、開発者は、ネットワーク上での送信中または保存中に、権限のない者が機密情報を傍受したり読み取ったりすることがないようにすることができます。

さらに、暗号化によりデータが改ざんまたは変更されていないことが保証されるため、データの整合性が保護され、ユーザーは正確さと安全性を保証して自分の情報にアクセスできます。データの保護とは別に、暗号化は規制遵守において非常に重要な役割を果たします。大多数の業界は、ヨーロッパの一般データ保護規則や米国の医療保険の相互運用性と責任に関する法律など、データ保護に関する厳格な法律の対象となります。

これらの法律や規制では、個人の個人情報を不正アクセスから保護するために、機密データの暗号化が要求されることがよくあります。これが実施されない場合、組織の評判を損なうだけでなく、多額の法的罰則が科せられます。

これについての一般的なケースは、暗号化が、データの保護、ユーザーの信頼の維持、法的要件を満たすために使用される基本的なツールの 1 つを形成するということです。これは、現代のソフトウェア開発の基礎であり、情報の安全性と機密性が高まる世界で情報の安全性を確保します。接続性。

JavaScript で基本的な暗号化ツールを作成するにはどうすればよいですか?

Using JavaScript for Secure Encryption in Web Tools

チェック: ここをクリックしてください

暗号化アルゴリズムの選択

任意の簡単な暗号化アルゴリズムは、たとえば、テキスト内のすべての文字をアルファベットの下の指定された位置数だけ置き換えるシーザー暗号として知られる非常に基本的な置換暗号を実行します。

暗号化する関数を定義する

この関数には、暗号化するテキストとシフトの値、つまり各文字を何桁シフトするかを入力として指定する必要があります。

関数内で、テキスト内の各文字を ASCII で表現された対応する値に変更します。これらの ASCII 値にシフトを追加して、暗号化された文字を取得します。

シフトされた ASCII 値を変換して暗号化テキストを形成します。

復号化の実装

次に、暗号化の場合とまったく逆の操作を行って復号化する関数を作成します。

暗号化された文字からシフトの値を取り除き、元のテキストを取得します。

機能のテスト

さまざまな入力を使用して「暗号化」関数と「復号化」関数を試してください。

このアプローチでは、JavaScript で暗号化および復号化する方法を学びます。これは非常に単純な方法ですが、後で AES (Advanced Encryption Standard) などのより複雑な暗号化技術を理解するための良い基礎となります。

以下はソースコードのみですJavaScript

// Caesar Cipher Encryption Function
function encryptCaesarCipher(text, shift) {
    const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    let encryptedText = '';

    // Iterate through each character in the text
    for (let i = 0; i < text.length; i++) {
        const char = text[i].toUpperCase();
        const isLetter = alphabet.indexOf(char) !== -1;

        if (isLetter) {
            // Find the index of the character in the alphabet
            const index = (alphabet.indexOf(char) + shift) % 26;
            encryptedText += alphabet[index];
        } else {
            // Append non-alphabetic characters unchanged
            encryptedText += text[i];
        }
    }

    return encryptedText;
}

// Caesar Cipher Decryption Function
function decryptCaesarCipher(text, shift) {
    const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    let decryptedText = '';

    // Iterate through each character in the text
    for (let i = 0; i < text.length; i++) {
        const char = text[i].toUpperCase();
        const isLetter = alphabet.indexOf(char) !== -1;

        if (isLetter) {
            // Find the index of the character in the alphabet
            const index = (alphabet.indexOf(char) - shift + 26) % 26;
            decryptedText += alphabet[index];
        } else {
            // Append non-alphabetic characters unchanged
            decryptedText += text[i];
        }
    }

    return decryptedText;
}

// Example usage
const originalText = "Hello World!";
const shift = 3;

const encrypted = encryptCaesarCipher(originalText, shift);
console.log('Encrypted:', encrypted); // Output: "KHOOR Zruog!"

const decrypted = decryptCaesarCipher(encrypted, shift);
console.log('Decrypted:', decrypted); // Output: "Hello World!"


ログイン後にコピー

以上がWeb ツールでの安全な暗号化のための JavaScript の使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート