전체 글 (189) 썸네일형 리스트형 [openssl] AES 암호화 / 복호화 (C++ 사용) AES 짤막한 소개 AES는 Advanced Encryption Standard 라고 해서 요즘 보편적으로 쓰이는 암호화 방식이다. AES는 사용하는 key size (bits) 에 따라 AES-128, AES-192, AES-256 으로 나뉜다. AES에서 암호화할 데이터는 128 bits (16 bytes) 로 된 block 들로 나뉘게 된다. 마지막 블럭이 128 bits 로 딱 떨어지지 않으면 padding 되어 128 bits로 만든다. AES와 같은 블럭 알고리즘은 여러 모드 (CBC, CFB, ECB 등) 가 존재하는데 CBC가 Chain 형식으로 꽤 안전하다. openssl 유틸리티를 사용해서 암호화 (AES-256 CBC 방식) $ openssl enc -aes-256-cbc -in (i.. [bash] 문자열 다루기 "ABCDEFG" 라는 문자열이 있을 때 #!/bin/bash STR="ABCDEFG" 1. ABCD를 자르고 EFG만 쓰고 싶다면 STR=${STR:4} # 또는 STR=${STR:-3} 2. EFG를 자르고 ABCD만 쓰고 싶다면 STR=${STR:0:4} 3. 문자열의 길이를 알고 싶다면 LENGTH=${#STR} [프로그래머스] (C++) 체육복 문제는 이 링크를 타고 가면 있습니다. 이 문제는 정렬을 필요로 합니다. 왜일까요? #include #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = 0; sort(lost.begin(), lost.end()); sort(reserve.begin(), reserve.end()); vector::iterator lost_iter, res_iter; lost_iter = lost.begin(); res_iter = reserve.begin(); while ((lost_iter != lost.end()) && (res_iter != reserve.end())) { if (*lo.. [프로그래머스] (C++) 땅따먹기 문제는 이 주소로 가면 있습니다. 처음에 저는 아래와 같은 코드로 문제를 푸려고 하였습니다. #include #include using namespace std; vector gLand; int gMax; void getTotal(int cur, int last, int n, int total) { if (cur == n) { if (gMax < total) gMax = total; return; } for (int i = 0; i < 4; i++) { if (last != i) { getTotal(cur+1, i, n, total + gLand[cur][last]); } } } int solution(vector land) { gLand = land; for (int i = 0; i < 4; i++) .. [C++] system() 함수 사용 결과 / 쉘 명령 (command) 결과 (stdout) 를 문자열 (string) 로 받기 안녕하세요? 마이콜타이순 입니다. 쉘에서 특정 커맨드를 실행해서 가져오려 할 때 쉘스크립트가 아닌 C++ 을 사용해서는 어떻게 할 수 있는지 알아보았습니다. #include #include #include std::string getResultFromCommand(std::string cmd) { std::string result; FILE* stream; const int maxBuffer = 256; // 버퍼의 크기는 적당하게 char buffer[maxBuffer]; cmd.append(" 2>&1"); // 표준에러를 표준출력으로 redirect stream = popen(cmd.c_str(), "r"); // 주어진 command를 shell로 실행하고 파이프 연결 (fd 반환) if (str.. 이전 1 ··· 21 22 23 24 다음