小编Div*_*ega的帖子

使用BouncyCastle轻量级API进行AES-256加密

我使用Java的内置加密库编写了一些(功能)AES加密代码,如下所示,但我想使用256位密钥.但是,我想在没有用户安装到Unlimited Strength Cryptography Policy文件的情况下执行此操作.

现在,我听说使用BouncyCastle轻量级API可以让我这样做,但不幸的是我遇到了很多困难,我很难适应任何有助于我的文档.

这是我当前的代码,其中'content'是要加密的字节数组:

KeyGenerator kgen = KeyGenerator.getInstance("AES");
int keySize = 128;
kgen.init(keySize);
SecretKey key = kgen.generateKey();
byte[] aesKey = key.getEncoded();
SecretKeySpec aesKeySpec = new SecretKeySpec(aesKey, "AES");
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.ENCRYPT_MODE, aesKeySpec);
byte[] encryptedContent = aesCipher.doFinal(content);
Run Code Online (Sandbox Code Playgroud)

我将如何使用BouncyCastle轻量级API重新实现此功能?任何人都可以帮助我和/或指向一些简单的示例代码的方向吗?

我也对其他任何允许256位密钥AES加密的解决方案感兴趣,而无需用户安装无限强度策略文件.

非常感谢!

java encryption bouncycastle aes

6
推荐指数
1
解决办法
3万
查看次数

在C++中创建多维数组棋盘的问题

我正在尝试用C++创建一个基本的棋盘并输出它.

我设置了一个多维板字符数组作为初始测试,并将字符放入表示每个字符.这个输出奇数结果,所以我把代码剥离到下面,这是为了创建一个有两行棋子和每个角落的车,标记为a,b,c和d的棋盘.

#include <string>
using namespace std;

class Game
{
    public:

    int turn;
    char player;
    char board[7][7];

    Game()
    {
        turn = 1;
        player = 'w';

        int x,y;
        for(y=0;y<=7;y++) for(x=0;x<=7;x++) board[x][y] = '.';
        board[0][0] = 'a';
        board[7][0] = 'b';
        board[0][7] = 'c';
        board[7][7] = 'd';
        for(x=0;x<=7;x++) board[x][1] = 'p';
        for(x=0;x<=7;x++) board[x][6] = 'p';

    }

    string getBoard()
    {
        string result = "";
        int x,y;
        for(y=0;y<=7;y++)
        {
            for(x=0;x<=7;x++) result += board[x][y];
            result += "\n";
        }
        return result;
    }
};
Run Code Online (Sandbox Code Playgroud)

我正在使用以下测试:

Game game;
cout …
Run Code Online (Sandbox Code Playgroud)

c++ arrays char multidimensional-array

1
推荐指数
1
解决办法
2806
查看次数