प्रौद्योगिकी साझेदारी

एण्ड्रॉयड् तथा जावा पृष्ठभागयोः मध्ये RSA एन्क्रिप्शनस्य संयुक्तरूपेण त्रुटिनिवारणं कुर्वन् द्रष्टव्यानि वस्तूनि

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

परियोजनासु वयं प्रायः एतादृशान् परिदृश्यान् सम्मुखीभवामः यत्र एण्ड्रॉयड् अग्रभागः पृष्ठभागेन प्रदत्तस्य सार्वजनिककुञ्ज्याः उपयोगं कृत्वा आँकडान् गोपनार्थं करोति ।जावा पृष्ठभागस्य विषये ध्यानं दातुं आवश्यकता अस्तिjava.util.Base64पूर्वनिर्धारितं Base64 मानकं एण्ड्रॉयड् चandroid.util.Base64भिन्नाः सन्ति।
तदतिरिक्तं RSA एल्गोरिदम् मानके अग्रे पृष्ठे च अन्तयोः स्पष्टसमझौता अपि आवश्यकी भवति ।

नमूनासङ्केतः : १.

import android.util.Base64;

import java.nio.charset.StandardCharsets;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.spec.X509EncodedKeySpec;

public class RSACrypto {

    public static final String PUB_KEY = "xxxxxxxxxxxxxx你的后端公钥";


    public static PublicKey getPublicKey() throws Exception {
        byte[] keyBytes = Base64.decode(PUB_KEY, Base64.DEFAULT);
        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        return keyFactory.generatePublic(keySpec);
    }

    public static String publicEncrypt(PublicKey publicKey, String encrypted) throws Exception {
        Cipher cipher = Cipher.getInstance("RSA/None/PKCS1Padding");
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
        byte[] data = cipher.doFinal(encrypted.getBytes(StandardCharsets.UTF_8));
        return Base64.encodeToString(data, Base64.NO_WRAP);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

तेषु एन्क्रिप्शनफलं Base64.NO_WRAP इत्यनेन एन्कोड् भवति, सार्वजनिककुंजी Base64.DEFAULT इत्यनेन डिकोड् भवति, एन्क्रिप्शन एल्गोरिदम् च RSA/None/PKCS1Padding इति भवति एण्ड्रॉयड् कृते बहवः आरएसए एन्क्रिप्शन नमूनासङ्केताः सन्ति येषां उल्लेखः अन्तर्जालस्य मध्ये नास्ति ।