小编Edu*_*doG的帖子

Sleep()vs sleep_for()

有人可以解释这两种停止线程然后再次继续执行线程的行为差异吗?

Sleep(); //from Win32

std::this_thread::sleep_for();
Run Code Online (Sandbox Code Playgroud)

我是根据多线程行为而不是系统兼容性来说明的。

c++ multithreading sleep thread-sleep

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

为什么加密文本不会改变?

我有这个程序工作,使用AES128加密一个9字节的字符串,wincrypt.h但当我更改密钥的最后一个字符时发生一些奇怪的事情:

L"3igcZhRdWq96m3GUmTAiv2"对实施例L"3igcZhRdWq96m3GUmTAiv1"L"3igcZhRdWq96m3GUmTAiv9" 加密的文本仍然是彼此相同.

#include <Windows.h>
#include <wincrypt.h>
#include <stdio.h>
#pragma comment(lib, "crypt32.lib")

#define BUFFER_SIZE 16

//params: <input file> <output file> <is decrypt mode> <key>
int wmain()
{

    wchar_t key[] = L"3igcZhRdWq96m3GUmTAiv2";
    wchar_t *key_str = key;


    size_t len = lstrlenW(key_str);


    DWORD dwStatus = 0;
    BOOL bResult = FALSE;
    wchar_t info[] = L"Microsoft Enhanced RSA and AES Cryptographic Provider";
    HCRYPTPROV hProv;

    if (!CryptAcquireContextW(&hProv, NULL, info, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
        dwStatus = GetLastError();
        printf("CryptAcquireContext failed: %x\n", dwStatus); …
Run Code Online (Sandbox Code Playgroud)

c encryption winapi aes wincrypt

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

标签 统计

aes ×1

c ×1

c++ ×1

encryption ×1

multithreading ×1

sleep ×1

thread-sleep ×1

winapi ×1

wincrypt ×1