자바에서 AES 암호화 및 암호 해독을 위해 AES/CBC/PKCS5Padding 암호 인스턴스를 사용하고 있습니다. 위의 암호화 된 블랙 베리를 사용하여 데이터를 암호 해독 할 수 있습니까? AES/CBC/PKCS5Padding에 블랙 베리블랙 베리를 사용하여 AES/CBC/PKCS5Padding으로 데이터 암호 해독
감사를 사용으로
해독 데이터 BAPI
자바에서 AES 암호화 및 암호 해독을 위해 AES/CBC/PKCS5Padding 암호 인스턴스를 사용하고 있습니다. 위의 암호화 된 블랙 베리를 사용하여 데이터를 암호 해독 할 수 있습니까? AES/CBC/PKCS5Padding에 블랙 베리블랙 베리를 사용하여 AES/CBC/PKCS5Padding으로 데이터 암호 해독
감사를 사용으로
해독 데이터 BAPI
나는 Bouncy Castle Library가 지원 생각합니다. 그들은 간단한 튜토리얼도 제공합니다.
바운 시성 (Bouncy castle)에는 환상적인 도서관이 있습니다. 주된 문제는 안전한 방법으로 열쇠를 얻는 방법입니다. NET과 Java가 호환되지 않는 방식으로 키를 직렬화한다는 것을 알았습니다. 보안 전송을 위해 RSA를 사용하여 키 전송을 용이하게하기 위해 Bouncy Castle을 사용하여 양쪽에 Bouncy Castle을 사용했습니다.
BlackBerry API를 사용하는 것이 좋습니다 (Bouncy Castle이 효과적 일지 모르지만 그 이유는 무엇입니까?).
net.rim.crypto 패키지를 사용하십시오. 모든 대칭 암호화를 사용하므로 기기에서 실행하려면 표준 RIM signing keys 만 필요합니다 (가져 오는 데는 20 달러와 2 ~ 3 일 소요). 시뮬레이터로 모든 것을하십시오.
기본적으로 AESDecryptorEngine을 래핑하는 CBCDecryptorEngine을 래핑하는 PKCS5UnformatterEngine을 생성하려고합니다. 당신이 처리 할 수 있도록 BlockDecryptor에있는 모든 것을 아마 InputStream에서와 같이 감쌀 것이다. (그리고 나는이 작업을 완료 한 이후하면서 조금이었다, 그래서 작성된 100 % 작동하지 않을 수 있습니다) 식으로 뭔가 :
내보다하지만 내 방어에 나는 보지 않았다 더 나은 대답이다InputStream encryptedInput; // if you have a byte[] of data, use a ByteArrayInputStream
AESKey key = new AESKey(<your key data as a byte[]>)
InitializationVector iv = new InitializationVector(<your iv data as a byte[]>) // of course you need to know your IV since you're doing CBC encryption
BlockDecryptor decryptor = new BlockDecryptor(
new PKCS5UnformatterEngine(
new CBCDecryptorEngine(
new AESDecryptorEngine(key),
iv
)
)
);
// then decryptor acts as an InputStream which gives you your decrypted, unpacked data
decryptor.read(buffer); // buffer will contain decrypted, unpacked data
너를 읽을 때까지 블랙 베리 태그. :-) – wds