Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在ionic4中使用crypto js进行加密/解密?_Angular_Ionic Framework_Encryption_Cryptojs_Caesar Cipher - Fatal编程技术网

Angular 如何在ionic4中使用crypto js进行加密/解密?

Angular 如何在ionic4中使用crypto js进行加密/解密?,angular,ionic-framework,encryption,cryptojs,caesar-cipher,Angular,Ionic Framework,Encryption,Cryptojs,Caesar Cipher,我很麻烦,如何在ionic4中使用crypto js进行加密/解密 我已经用java编写了加密解密代码 public static String encrypt(String str) { String encryptedString = str; try { byte[] utf8 = str.getBytes("UTF8"); byte[] enc = encryptor.doFinal(utf8); encryptedSt

我很麻烦,如何在ionic4中使用crypto js进行加密/解密

我已经用java编写了加密解密代码

public static String encrypt(String str) 
{
    String encryptedString = str;

    try {
        byte[] utf8 = str.getBytes("UTF8");
        byte[] enc = encryptor.doFinal(utf8);
        encryptedString = Base64.encodeBase64URLSafeString(enc);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return encryptedString;
}
对于解密

public static String decrypt(String str) 
{
    String decryptedString = "";        
    try {
        byte[] dec = Base64.decodeBase64(str);
        byte[] utf8 = decryptor.doFinal(dec);
        decryptedString = new String(utf8, "UTF8");
    } catch (Exception e) {
        e.printStackTrace();
    } 
    return decryptedString;
}
public static void genKeyPair(int i)    {
    try {
        // generates DES key from string //
        key = new SecretKeySpec(Skey.getBytes(), "DES");

        // initialize the cipher with key //
        encryptor = Cipher.getInstance("DES");
        decryptor = Cipher.getInstance("DES");
        encryptor.init(Cipher.ENCRYPT_MODE, key);
        decryptor.init(Cipher.DECRYPT_MODE, key);

        System.err.println(java.util.Base64.getEncoder().encodeToString(key.getEncoded()));
    } catch (Exception e) {
        e.printStackTrace();
    }
}
秘密密钥生成

public static String decrypt(String str) 
{
    String decryptedString = "";        
    try {
        byte[] dec = Base64.decodeBase64(str);
        byte[] utf8 = decryptor.doFinal(dec);
        decryptedString = new String(utf8, "UTF8");
    } catch (Exception e) {
        e.printStackTrace();
    } 
    return decryptedString;
}
public static void genKeyPair(int i)    {
    try {
        // generates DES key from string //
        key = new SecretKeySpec(Skey.getBytes(), "DES");

        // initialize the cipher with key //
        encryptor = Cipher.getInstance("DES");
        decryptor = Cipher.getInstance("DES");
        encryptor.init(Cipher.ENCRYPT_MODE, key);
        decryptor.init(Cipher.DECRYPT_MODE, key);

        System.err.println(java.util.Base64.getEncoder().encodeToString(key.getEncoded()));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

我想在ionic4中写同样的东西,如何做plz帮助我。我是ionic4(混合应用程序)的新手。

您的代码看起来像是自定义加密/解密,您可以使用多种加密方法之一,如crypto js:

这非常简单,下面是要继续执行的示例代码:

import * as utf8 from 'crypto-js/enc-utf8';
import * as AES from 'crypto-js/aes';

// Encryption
AES.encrypt(JSON.stringify(data),your_encKey).toString();

// Decryption
AES.decrypt(userdata, your_encKey).toString(utf8);
更多信息:

我认为这段代码片段足够参考,可以继续并将继续使用 帮助您使用ionic4/angular转换代码。


您的代码看起来像自定义加密/解密,您可以使用多种加密方法之一,如crypto js,如:

这非常简单,下面是要继续执行的示例代码:

import * as utf8 from 'crypto-js/enc-utf8';
import * as AES from 'crypto-js/aes';

// Encryption
AES.encrypt(JSON.stringify(data),your_encKey).toString();

// Decryption
AES.decrypt(userdata, your_encKey).toString(utf8);
更多信息:

我认为这段代码片段足够参考,可以继续并将继续使用 帮助您使用ionic4/angular转换代码。


我在angular(IONIC 4)中找到了解决方案,但符号字符不同于java代码

let key="AND$VBOA";
var keyHex = CryptoJS.enc.Utf8.parse(key);
var message = CryptoJS.enc.Utf8.parse(message);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
});
console.log("Encrypted:="+encrypted.toString());
用于取消键入

var decrypted = CryptoJS.DES.decrypt({
    ciphertext: CryptoJS.enc.Base64.parse(encrypted)
}, keyHex, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
});
console.log("Derypted:="+decrypted .toString());
在爱奥尼亚

Ecrypted: 6qPw1YkOopA=
Decrypted: Nitin
在爪哇

Ecrypted: 6qPw1YkOopA
Decrypted: Nitin
Ecrypted: oOmH6uQ4R_Q
Decrypted: Message
Ecrypted: f-eTKAqlUwXnznPVyjTXWA
Decrypted: engineer
在爱奥尼亚

Ecrypted: oOmH6uQ4R/Q=
Decrypted: Message
Ecrypted: f+eTKAqlUwXnznPVyjTXWA==
Decrypted: engineer
在爪哇

Ecrypted: 6qPw1YkOopA
Decrypted: Nitin
Ecrypted: oOmH6uQ4R_Q
Decrypted: Message
Ecrypted: f-eTKAqlUwXnznPVyjTXWA
Decrypted: engineer
在爱奥尼亚

Ecrypted: oOmH6uQ4R/Q=
Decrypted: Message
Ecrypted: f+eTKAqlUwXnznPVyjTXWA==
Decrypted: engineer
在爪哇

Ecrypted: 6qPw1YkOopA
Decrypted: Nitin
Ecrypted: oOmH6uQ4R_Q
Decrypted: Message
Ecrypted: f-eTKAqlUwXnznPVyjTXWA
Decrypted: engineer

在Java“-”&在IONIC“+”&在IONIC“/”和Java“\中,在IONIC extra=或==中测试的示例太多了。那么这个示例代码有什么问题,请告诉我

我在angular(IONIC 4)中找到了解决方案,但符号字符与java代码不同

let key="AND$VBOA";
var keyHex = CryptoJS.enc.Utf8.parse(key);
var message = CryptoJS.enc.Utf8.parse(message);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
});
console.log("Encrypted:="+encrypted.toString());
用于取消键入

var decrypted = CryptoJS.DES.decrypt({
    ciphertext: CryptoJS.enc.Base64.parse(encrypted)
}, keyHex, {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
});
console.log("Derypted:="+decrypted .toString());
在爱奥尼亚

Ecrypted: 6qPw1YkOopA=
Decrypted: Nitin
在爪哇

Ecrypted: 6qPw1YkOopA
Decrypted: Nitin
Ecrypted: oOmH6uQ4R_Q
Decrypted: Message
Ecrypted: f-eTKAqlUwXnznPVyjTXWA
Decrypted: engineer
在爱奥尼亚

Ecrypted: oOmH6uQ4R/Q=
Decrypted: Message
Ecrypted: f+eTKAqlUwXnznPVyjTXWA==
Decrypted: engineer
在爪哇

Ecrypted: 6qPw1YkOopA
Decrypted: Nitin
Ecrypted: oOmH6uQ4R_Q
Decrypted: Message
Ecrypted: f-eTKAqlUwXnznPVyjTXWA
Decrypted: engineer
在爱奥尼亚

Ecrypted: oOmH6uQ4R/Q=
Decrypted: Message
Ecrypted: f+eTKAqlUwXnznPVyjTXWA==
Decrypted: engineer
在爪哇

Ecrypted: 6qPw1YkOopA
Decrypted: Nitin
Ecrypted: oOmH6uQ4R_Q
Decrypted: Message
Ecrypted: f-eTKAqlUwXnznPVyjTXWA
Decrypted: engineer

在Java“-”&在IONIC“+”&在IONIC“/”和Java“\中,在IONIC extra=或==中测试的示例太多了。那么这个示例代码有什么问题,请告诉我

如何在ionic 4中生成密钥?如何在ionic 4中生成密钥?