【オープンソースのサードパーティライブラリ】crypto-js暗号アルゴリズムライブラリの使い方

OpenAtom OpenHarmony (以下「OpenHarmony」) サードパーティ ライブラリは、OpenHarmony システム上で再利用できることが検証されているソフトウェア コンポーネントであり、開発者が OpenHarmony アプリケーションを迅速に開発するのに役立ちます。オープンソース コミュニティにリリースされている場合は、オープンソース サードパーティ ライブラリと呼ばれ、開発者はオープンソース コミュニティにアクセスして入手できます。次に、crypto-js オープンソースのサードパーティ ライブラリについて学びましょう。Crypto-js は、サポートされている暗号化および復号化操作をフロントエンドで簡単に実行できる暗号化アルゴリズム クラス ライブラリです。現在、crypto-js は次のアルゴリズムをサポートしています: MD5、SHA-1、SHA-256、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2、AES、RC4、DES など。

特徴

• セキュリティと信頼性: crypto-js は、広範囲にテストおよび精査された暗号化アルゴリズムを実装し、安全で信頼性の高い暗号化を提供するように設計されています。暗号化のベスト プラクティスを使用し、データのセキュリティと整合性を保護します。

• 使いやすい API: crypto-js は、開発者がアプリケーションで暗号化および復号化操作を簡単に実行できるようにする使いやすい API を提供します。暗号化操作をより便利かつ柔軟にする、直感的で一貫した方法とオプションを提供します。

• 複数の暗号化アルゴリズムのサポート: crypto-js は、複数の対称暗号化アルゴリズム (AES、DES など) とハッシュ関数 (MD5、SHA1、SHA256 など)、およびメッセージ認証コード (MAC) アルゴリズムをサポートします。さまざまなセキュリティ ニーズを満たす暗号化ツールの完全なセットを提供します。

一般的に使用される暗号化アルゴリズムの使用シナリオ

MD5

MD5 は広く使用されているハッシュ関数です。これはさまざまなセキュリティ アプリケーションで使用され、ファイルの整合性を検証するためによく使用されます。ただし、MD5 は衝突攻撃に耐性がないため、SSL 証明書やデジタル署名には適していません。

SHA-1

SHA ハッシュ関数は国家安全保障局 (NSA) によって設計されました。SHA-1 は既存の SHA ハッシュ関数の中で最も成熟しており、さまざまなセキュリティ アプリケーションやプロトコルで使用されています。しかし、新しい攻撃が発見されたり改良されたりするにつれて、SHA-1 の攻撃に対する耐性は弱まってきています。

SHA-2

SHA-224、SHA-256、SHA-384、および SHA-512 を総称して SHA-2 と呼びます。SHA-256 は、SHA-2 セットの 4 つのバリアントの 1 つです。より優れたセキュリティを提供しますが、SHA-1 ほど広く使用されていません。SHA-512 は SHA-256 とほぼ同じですが、64 ビット コンピュータでは (内部で 64 ビット演算を使用するため)、8 ビット、16 ビット、および 32 ビット コンピュータでは SHA-256 より高速です。 SHA-256 は SHA-512 より高速です。

HMAC

HMAC は、暗号化ハッシュ関数を使用したメッセージ認証のメカニズムです。任意の反復暗号化ハッシュ関数と組み合わせて使用​​でき、メッセージ認証やデジタル ビザに一般的に使用されます。

PBKDF2

PBKDF2は、ユーザーのパスワードを暗号化する機能です。暗号化の多くのアプリケーションでは、ユーザーのセキュリティは最終的にユーザーのパスワードに依存しますが、多くの場合キーとして直接使用できないため、何らかの処理が必要になります。

AES

暗号化における AES Advanced Encryption Standard (AES) は、ラインダール暗号化とも呼ばれ、米国連邦政府によって採用されたブロック暗号化標準です。この標準は、元の DES (データ暗号化標準) を置き換えるために使用され、多くの関係者によって分析され、世界中で広く使用されています。

RC4

RC4 アルゴリズムは、1987 年に Ron Rivest によって RSA 用に設計されたストリーム暗号です。RSA の企業秘密として、1994 年までインターネット上で匿名で公開されませんでした。RC4 は、Web ブラウザとサーバー間の通信のための SSL/TLS (Secure Sockets Protocol/Transport Layer Security) 標準、および IEEE 801.11 無線 LAN 標準の一部である WEP (Wired Equivalent Privacy) プロトコルで使用されます。新しい WiFi Protected Access Protocol (WAP)。これらのアプリケーションから判断すると、RC4 は今日のネットワーク通信の非常に重要な部分を形成しているため、このアルゴリズムは非常に重要です。

デモ効果

使用例

次に、crypto-jsの使い方とパーソナライズされた設定を具体的な例を通して紹介します。

1.プロジェクトにcrypto-jsをインストールします

crypto-js をグローバルに、またはモジュールの下にインストールします。グローバル インストールの場合、インストール手順はルート ディレクトリで実行され、モジュール インストールの場合、インストール手順は対応するモジュールで実行されます。

ohpm  install @ohos/crypto-js 

OpenHarmony ohpm 環境構成などの詳細については、「OpenHarmony ohpm パッケージのインストール方法」を参照してください。たとえば、モジュールの下にインストールし、エントリ ディレクトリ内のインストール手順を実行します。「インストールが完了しました」と表示されれば、インストールは完了です。

  1. 依存関係を導入する

crypto-js を使用するには、依存関係を導入する必要があります。

最新版本支持
  import {
        
         CryptoJS } from '@ohos/crypto-js' 或者
  import CryptoJS from '@ohos/crypto-js'

3.MD5アルゴリズムを使用する

md5 メッセージ ダイジェスト アルゴリズム (英語: md5 Message-Digest Algorithm) は、情報送信の完全性と一貫性を確保するために 128 ビット (16 バイト) のハッシュ値を生成できる、広く使用されている暗号化ハッシュ関数です。

MD5 の機能:

  1. 不可逆性 --- 元のデータは MD5 値に基づいて計算できません
  2. 一意性 --- 元のデータが異なれば、MD5 値も異なります。

このライブラリでの md5 アルゴリズムの使用:

 //第一步在需要使用到的页面,导入CryptoJS
  import {
        
         CryptoJS } from '@ohos/crypto-js'
  //第二步在需要使用到md5的业务逻辑,调用md5算法
  var hash = CryptoJS.MD5("123456") //传参是需要加密的内容,返回值是加密后的数据

  1. aes アルゴリズムを使用する

AES アルゴリズムの正式名は、Advanced Encryption Standard (ラインダール暗号化方式とも呼ばれる) で、米国連邦政府によって採用されたブロック暗号化標準です。AES は対称暗号化であるため、暗号化と復号化に同じ秘密キーが必要です。このライブラリでの AES アルゴリズムの使用:

 //第一步在需要使用到的页面,导入CryptoJS
  import {
        
         CryptoJS } from '@ohos/crypto-js'
  //第二步定义加密解密需要用到的key
  var key = 'secret key 1234'
  //第三步在需要使用AES加密的业务逻辑,调用AES加密
  var encrypted = CryptoJS.AES.encrypt('hello world', key).toString()  //传参为加密内容及秘钥
  //第四步在需要把上面的加密块解密的业务逻辑,调用AES解密,注意key必须相同
  var decrypted = CryptoJS.AES.decrypt(encrypted, key) //传参为加密后的内容及秘钥

ソースコードアドレスとOHPMウェアハウスアドレス

上記は crypto-js の基本的な概要です。詳細については、ソース コード アドレスまたは ohpm ウェアハウス アドレスに移動して、crypto-js ドキュメントを参照してください。

参考文献

OpenHarmony ohpm パッケージをインストールする

OpenHarmony_har_usage.md · OpenHarmony-TPC/docs - Gitee.com

ソースコードアドレス

OpenHarmony-SIG/crypto-js

OHPM倉庫の住所

OpenHarmony スリーパーティ ライブラリの中央倉庫

おすすめ

転載: blog.csdn.net/OpenHarmony_dev/article/details/132754896