Tag: 加密

在Java中加密字符串并在C ++中解密它。 我还需要做些什么?

我需要在Java中加密一个字符串并用C ++解密它。 我见过C ++有一个Crypto ++库,Java有JCE。 对于c ++,我参考这个页面 http://social.msdn.microsoft.com/Forums/ko-KR/bd1722e7-07b3-4119-b7de-10788f9f6e36/aes-string-encryption-in-c?forum=windowsmobiledev 结果是不同的。 在java abcd1234 7e77643ca7d46d46298be3239f1a5cdb abcd1234 在c ++奇怪的人物…… 我该怎么办?

加密Android

我正在尝试理解在Android设备上列出所有支持的加密算法的代码。 我只是想知道为什么有必要添加(’Alg.Alias’)步骤并从服务名称中删除这些字符? 应用程序在没有它的情况下停止工作,我不明白为什么! package com.example.lab_enc_dec; import java.security.Provider; import java.security.Security; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; import com.example.lab_enc_dec.R; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ListCryptoAlgorithms extends Activity { static final String TAG = “ListCryptoAlgorithms”; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.algorithm_list); ListSupportedAlgorithms(); } public void ListSupportedAlgorithms() { String result = “”; // get […]

为什么在用充气城堡解密后附加这些方形符号?

我创建了一个简单的java方法,使用充气城堡库加密和解密文本。 加密按预期工作,但是当我解密某些内容时,我会在最后得到这些额外的方形符号: 我认为这可能与填充有关,但我已经按照bouncy castle网站上的例子进行了操作,所以我真的不明白为什么我会得到这种输出。 这是我正在使用的代码: [主要] public static void main(String[] argv) { String ciphertext = “PlJR5pzbowsuzHIc9iTKHg==”; String decrypted; CryptoCodec codec = new CryptoCodec(); decrypted = codec.exec(“AES”, “xxxxooooxxxxoooo”, ciphertext, false); System.out.println(“Ciphertext: ” + ciphertext); System.out.println(“Decrypted: ” + decrypted); } [CryptoCodec] // Eod: (true) Encrypt or (false) decrypt. public String exec(String algorithm, String key, String data, boolean […]

SSL握手过程

我开始考虑安全性并阅读有关SSL握手方案的内容。 在这篇文章中 ,回复者提到对称密钥是在浏览器上生成的,使用服务器的公钥加密并发送到服务器。 然而,在其他文章中,他们提到生成了一个预主密钥,并且代之以用于计算对称密钥。 我可以知道哪个是正确的解释,这个预主密钥是如何生成并用于生成对称密钥的?

推荐用于数字签名的加密组合

我终于 – 在痛苦的日子和日子之后 – 发现我的数字签名项目需要两种加密forms。 第一个将是对称的(AES)并将加密许可证数据 ,第二个将是非对称(RSA) ,将加密对称密钥 。 有人可以指出我用于Android的最佳方法。 For the public/private keys I am using: “RSA/ECB/PKCS1Padding” (我的ECB很糟糕,所以我应该使用什么?,PKCS1Padding怎么样?我使用PKCS5Padding怎么办?) For the symetric keys I will probably use: “AES/???/?????????” (我应该使用什么模式和填充?) 提供者:“BC” RSA Keysize:1024(我试过2048,但由于某些原因它没有用) AES Keysize:???? (建议) 另外,如果你知道我在哪里可以找到关于Android实际支持的一个很好的指南。 我绝不是加密专家,所以如果有什么看起来有点不稳定,请告诉我一个更好的选择! 如果你知道一个很好的组合,但不确定它是否支持Android,请说明,这样我最终不会浪费很多时间来发现它不受支持。

写一个BreakCaesarCipher程序

所以我有一个编程问题。 我希望能够创建一个执行以下操作的breakCaesarCipher类: 1)拆分加密的消息 2)确定两个解密密钥 3)使用这些键创建CaesarCipherTwo的实例。 4)调用解密方法。 我不知道从哪里开始。 我很困惑如何分割加密的消息。 在上一课中,我们这样做了: import edu.duke.*; public class CaesarBreaker2 { public int[] countOccurrencesOfLetters(String message) { //snippet from lecture String alph = “abcdefghijklmnopqrstuvwxyz”; int[] counts = new int[26]; for (int k=0; k < message.length(); k++) { char ch = Character.toLowerCase(message.charAt(k)); int dex = alph.indexOf(ch); if (dex != -1) { counts[dex] += […]

解密加密文件并在Java中执行

我目前正在开发一个可以加密和解密文件的项目。 我正在用Java开发它。 这是它的工作原理(简化): 首先,我读取文件并将其转换为字节数组 然后我加密字节数组并将其写回文件 当我想运行加密文件时,我会做相反的事情,所以这样: 我读取加密文件并将其转换为字节数组 然后我解密字节数组并将其写回文件。 因此文件将转换回其原始格式。 我的问题是,我不想将解密的字节数组作为文件写入磁盘。 有没有办法做到这一点? 我想直接在内存中运行解密的字节数组。 通过“运行”它,我的意思是执行它,因为它是一个Win32可执行的加密器。 在此先感谢,Onur

用CaesarCipherBreaker拆分字符串

如何为此示例添加代码以创建CaesarCipherBreaker方法,该方法通过两个键拆分加密的消息。 到目前为止,我写了这么多: import edu.duke.*; public class TestCaesarCipherTwo { public int[] countOccurrencesOfLetters(String message) { //snippet from lecture String alph = “abcdefghijklmnopqrstuvwxyz”; int[] counts = new int[26]; for (int k=0; k < message.length(); k++) { char ch = Character.toLowerCase(message.charAt(k)); int dex = alph.indexOf(ch); if (dex != -1) { counts[dex] += 1; } } return counts; } public […]

如何在JAVA或Android中加密和解密UTF-8?

我使用此算法在android中加密和解密数据。 但是当使用utf-8字符时..显示此错误:[加密]数据不对齐块大小。 我使用此算法进行加密和解密: https ://snipt.net/raw/ee573b6957b7416f28aa560ead71c3a2/ ? nice 我的代码: HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(ServerIP.frooshgah_URL); List nameValuePairs = new ArrayList(); JSONObject json = new JSONObject(); try { json.put(“UserId”, “0s”); json.put(“N_frooshgah”, N_frooshgah); json.put(“N_masol”, N_masol); json.put(“N_makan”, N_makan); json.put(“address”, address); json.put(“tel”, tel); json.put(“time_baz”, time_baz); json.put(“time_baste”, time_baste); json.put(“tavzihat”, tavzihat); json.put(“tag”, tag); json.put(“categori”, “پوشاک”); json.put(“city”, city); json.put(“lat”, […]

使用bouncycastle解密aes-256-cbc

bouncyCastle新手,任何帮助表示赞赏。 我正在尝试使用bounncycastle java API解密由我的系统上的第三方加密的文件。 它似乎解密文件很好,除了下面解密文件开头的垃圾数据blob PaddedBufferedBlockCipher aes = new PaddedBufferedBlockCipher(new CBCBlockCipher( new AESEngine())); CipherParameters ivAndKey = new ParametersWithIV(new KeyParameter(DatatypeConverter.parseHexBinary(keyInfo.getKey())), DatatypeConverter.parseHexBinary(keyInfo.getInitializationVector())); aes.init(false, ivAndKey); byte[] decryptedBytes = cipherData(aes, Base64.decodeBase64(inputStreamToByteArray(new FileInputStream(encryptedFile)))); return new ByteArrayInputStream(decryptedBytes); private static byte[] cipherData(PaddedBufferedBlockCipher cipher, byte[] data) throws Exception { int minSize = cipher.getOutputSize(data.length); byte[] outBuf = new byte[minSize]; int length1 = cipher.processBytes(data, 0, […]