ホームページ Java &#&チュートリアル Java で記述されたマイクロサービス データの暗号化および復号化関数

Java で記述されたマイクロサービス データの暗号化および復号化関数

Aug 08, 2023 am 09:37 AM
データ暗号化 データの復号化 マイクロサービスプログラミング

Java で記述されたマイクロサービス データの暗号化および復号化関数

Java で記述されたマイクロサービス データの暗号化および復号化機能

今日のインターネット時代では、データ送信の普及と機密情報の漏洩リスクの増大により、データ セキュリティが重要になります。ますます重要になってきています。マイクロサービス アーキテクチャの台頭により、データの暗号化と復号化のための、より柔軟でスケーラブルなソリューションが提供されます。この記事では、Java を使用してシンプルかつ強力なマイクロサービス データの暗号化および復号化関数を作成する方法を紹介し、対応するコード例を示します。

まず、信頼できる暗号化アルゴリズムを選択する必要があります。ここでは、非常に人気があり、安全で信頼性の高い対称暗号化アルゴリズムである AES (Advanced Encryption Standard) アルゴリズムを使用することを選択します。 AES アルゴリズムは 128 ビット、192 ビット、256 ビットのキー長をサポートしており、実際のニーズに応じてさまざまなキー長を選択できます。さらに、適切なパディング モードと暗号化モードを選択する必要もあります。ここでは、PKCS5Padding パディング モードと CBC 暗号化モードを使用することを選択します。

次に、Java の暗号化ライブラリを使用して、暗号化と復号化の操作を実行します。まず、キーを生成し、安全な場所に保管する必要があります。ここでは、Java が提供する KeyGenerator クラスを使用してキーを生成します。

import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;

public class EncryptionUtils {
    public static SecretKey generateKey() throws NoSuchAlgorithmException {
        KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
        keyGenerator.init(128);
        return keyGenerator.generateKey();
    }
}
ログイン後にコピー

キーを生成した後、そのキーを使用して暗号化および復号化操作を実行できます。以下は、キーを使用してデータを暗号化するサンプルコードです。

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.util.Base64;

public class EncryptionUtils {
    public static String encryptData(String data, SecretKey secretKey, String initVector) throws GeneralSecurityException {
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        cipher.init(Cipher.ENCRYPT_MODE, secretKey, new IvParameterSpec(initVector.getBytes(StandardCharsets.UTF_8)));
        byte[] encryptedData = cipher.doFinal(data.getBytes(StandardCharsets.UTF_8));
        return Base64.getEncoder().encodeToString(encryptedData);
    }
}
ログイン後にコピー

上記のコードでは、Base64 エンコードを使用して暗号化されたデータを変換し、ネットワーク上での送信と保存を容易にします。次に、キーを使用してデータを復号化するコードの例を示します。

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.util.Base64;

public class EncryptionUtils {
    public static String decryptData(String encryptedData, SecretKey secretKey, String initVector) throws GeneralSecurityException {
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        cipher.init(Cipher.DECRYPT_MODE, secretKey, new IvParameterSpec(initVector.getBytes(StandardCharsets.UTF_8)));
        byte[] decryptedData = cipher.doFinal(Base64.getDecoder().decode(encryptedData));
        return new String(decryptedData, StandardCharsets.UTF_8);
    }
}
ログイン後にコピー

上記のコードでは、Base64 デコードを使用して暗号化されたデータを復元します。

最後に、上記の暗号化関数と復号化関数をマイクロサービス API にカプセル化して、他のシステム コールを容易にすることができます。以下は簡単なマイクロサービスのコード例です。

import org.springframework.web.bind.annotation.*;

import javax.crypto.SecretKey;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/encryption")
public class EncryptionController {
    private SecretKey secretKey;

    public EncryptionController() throws NoSuchAlgorithmException {
        this.secretKey = EncryptionUtils.generateKey();
    }

    @PostMapping("/encrypt")
    public Map<String, String> encryptData(@RequestBody Map<String, String> data) throws GeneralSecurityException {
        String encryptedData = EncryptionUtils.encryptData(data.get("data"), secretKey, data.get("initVector"));
        Map<String, String> result = new HashMap<>();
        result.put("encryptedData", encryptedData);
        return result;
    }

    @PostMapping("/decrypt")
    public Map<String, String> decryptData(@RequestBody Map<String, String> data) throws GeneralSecurityException {
        String decryptedData = EncryptionUtils.decryptData(data.get("encryptedData"), secretKey, data.get("initVector"));
        Map<String, String> result = new HashMap<>();
        result.put("decryptedData", decryptedData);
        return result;
    }
}
ログイン後にコピー

上記のコードでは、Spring フレームワークを使用して単純な HTTP インターフェイスを実装しています。/encryption/encrypt インターフェイスは、データの暗号化に使用されます (/encryption/decrypt)。 インターフェイスはデータを復号化するために使用されます。リクエストパラメータはJSON形式を使用し、暗号化または復号化された結果が返されます。

要約すると、Java を使用して、シンプルだが強力なマイクロサービス データの暗号化および復号化関数を作成します。 AES アルゴリズムを使用してデータを暗号化および復号化し、他のシステムから呼び出せるマイクロサービス API にカプセル化します。これにより、送信中および保存中のデータのセキュリティが確保され、システム全体のセキュリティが向上します。

以上がJava で記述されたマイクロサービス データの暗号化および復号化関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue3+TS+Vite 開発スキル: データを暗号化して保存する方法 Vue3+TS+Vite 開発スキル: データを暗号化して保存する方法 Sep 10, 2023 pm 04:51 PM

Vue3+TS+Vite 開発のヒント: データを暗号化して保存する方法 インターネット技術の急速な発展に伴い、データ セキュリティとプライバシー保護がますます重要になっています。 Vue3+TS+Vite 開発環境では、データをどのように暗号化して保存するかが、すべての開発者が直面する必要がある問題です。この記事では、開発者がアプリケーションのセキュリティとユーザー エクスペリエンスを向上させるのに役立つ、一般的なデータ暗号化とストレージのテクニックをいくつか紹介します。 1. データ暗号化 フロントエンド データ暗号化 フロントエンド暗号化は、データ セキュリティを保護するための重要な部分です。よく使われる

PHP と SQLite: データの圧縮と暗号化を行う方法 PHP と SQLite: データの圧縮と暗号化を行う方法 Jul 29, 2023 am 08:36 AM

PHP と SQLite: データを圧縮および暗号化する方法 多くの Web アプリケーションでは、データのセキュリティとストレージ領域の使用率が非常に重要な考慮事項です。 PHP と SQLite は非常に広く使用されている 2 つのツールであり、この記事ではこれらをデータ圧縮と暗号化に使用する方法を紹介します。 SQLite は、別個のサーバー プロセスを持たず、アプリケーションと直接対話する軽量の組み込みデータベース エンジンです。 PHP は、動的スクリプトを構築するために広く使用されている人気のあるサーバー側スクリプト言語です。

MySQL でデータを暗号化および復号化するにはどうすればよいですか? MySQL でデータを暗号化および復号化するにはどうすればよいですか? Jul 30, 2023 pm 09:13 PM

MySQL でデータを暗号化および復号化するにはどうすればよいですか?要約: データセキュリティはデータベース管理の重要な側面です。この記事では、暗号化アルゴリズムを使用して MySQL のデータを暗号化および復号化し、データのセキュリティを向上させる方法を紹介します。 1. はじめに 現代の情報化社会において、データセキュリティの問題はますます重要になっています。データベースに保存されるデータには、ユーザーのパスワード、銀行口座番号などの機密情報が含まれる場合があります。データ漏洩や不正取得を防ぐためには、この機密情報を暗号化して保存する必要があります。 MySQL

Vue を使用してデータの暗号化と安全な送信を行う方法 Vue を使用してデータの暗号化と安全な送信を行う方法 Aug 02, 2023 pm 02:58 PM

Vue を使用してデータ暗号化と安全な送信を行う方法 はじめに: インターネットの発展に伴い、データ セキュリティへの注目がますます高まっています。 Web アプリケーション開発では、データの暗号化と安全な送信は、ユーザーのプライバシーと機密情報を保護するための重要な手段です。人気の JavaScript フレームワークとして、Vue はデータ暗号化と安全な送信の実現に役立つ豊富なツールとプラグインを提供します。この記事では、Vue を使用してデータの暗号化と安全な送信を行う方法を紹介し、参考となるコード例を示します。 1. データの暗号化とデータの暗号化

MySQL と PowerShell を使用した開発: データの暗号化および復号化機能を実装する方法 MySQL と PowerShell を使用した開発: データの暗号化および復号化機能を実装する方法 Aug 01, 2023 pm 01:52 PM

MySQL と PowerShell を使用した開発: データの暗号化および復号化機能を実装する方法 概要: 最新のインターネット アプリケーションでは、機密データのセキュリティを保護することが非常に重要です。ユーザーのプライバシーとデータの整合性を確保するために、開発者はデータ暗号化テクノロジーを使用することがよくあります。この記事では、MySQL データベースと PowerShell スクリプトを使用してデータの暗号化と復号化機能を実装する方法を紹介します。 1. MySQL データベースのデータ暗号化 MySQL は、データを確実にデータベースに保存するためのさまざまな暗号化機能とアルゴリズムを提供します。

gRPC を使用して Golang でデータ暗号化を実装するためのベスト プラクティス gRPC を使用して Golang でデータ暗号化を実装するためのベスト プラクティス Jul 19, 2023 pm 03:17 PM

gRPC を使用して Golang でデータ暗号化を実装するためのベスト プラクティス はじめに: 情報セキュリティが高く評価されている今日の時代では、データのセキュリティを保護することがますます重要になっています。分散システムでは、ネットワーク伝送時のデータのセキュリティをどのように確保するかが重要な課題となります。 gRPC は、データのシリアル化と送信に ProtocolBuffers を使用することでより高度なデータ セキュリティを提供し、TLS/SSL 暗号化送信をサポートする、高性能の言語間リモート プロシージャ コール フレームワークです。

Java 開発: データの暗号化と復号化を実装する方法 Java 開発: データの暗号化と復号化を実装する方法 Sep 20, 2023 am 08:46 AM

Java 開発: データの暗号化と復号化を実装する方法、特定のコード例が必要です はじめに: 現代の情報時代の文脈において、データ セキュリティはますます重要になっています。開発者にとって、ユーザー データのセキュリティを保護する方法は必須のスキルです。データの暗号化と復号化は、データ セキュリティの重要な手段の 1 つです。この記事では、Java 言語を使用してデータの暗号化と復号化を実装する方法と、具体的なコード例を紹介します。 1. データ暗号化アルゴリズムの紹介 データ暗号化とは、元のデータを特定のアルゴリズムで処理し、暗号化を行わずに処理できるようにすることを指します。

Vue とサーバー側通信の分析: データのセキュリティを確保する方法 Vue とサーバー側通信の分析: データのセキュリティを確保する方法 Aug 10, 2023 pm 04:01 PM

Vue とサーバー側通信の分析: データ セキュリティの確保 フロントエンド フレームワーク Vue.js から継承された Vue サーバー側通信は、一般的に使用される Web 開発テクノロジであり、開発者に、より効率的で安全な対話方法を提供します。データ。この記事では、データのセキュリティを確保する方法に焦点を当てて、Vue とサーバー側の通信のメカニズムについて詳しく説明します。通常、Vue は HTTP プロトコルを通じてサーバーと通信し、データを取得または送信します。データ送信のセキュリティを確保するには、次の重要な手順を実行する必要があります。

See all articles