프로그래밍
-
[C++] AES 128 ECB (electronic codebook) 구현프로그래밍/C++ 2019. 2. 17. 22:52
C, C++는 다른 언어 (Java, C#, Python)과는 다르게 내부 api가 풍부하지 않다. 그래서 다른 언어에서 쉽게 사용 할 수 있는 aes128을 직접 구현해야 한다. 구글링을 해봐도 Crypto++를 이용하거나, OpenSSL을 이용하여 구현한 자료들 뿐이였다. 본 코드는 aes 128 ECB암호화와 PKCS7 패딩을 대충 구현했다. AES128.cpp /* Serves as the initial round during encryption * AddRoundKey is simply an XOR of a 128-bit block with the 128-bit key. */ void AES128::AddRoundKey(unsigned char * state, unsigned char * rou..
-
간단한 자기 복제 (simply self-replication)프로그래밍/C# + Unity 2019. 2. 12. 22:55
class Copier { public void SelfCopier(String ExeName, String Destination) { string path = Directory.GetCurrentDirectory() + @"\\" + ExeName; FileInfo fileInfo = new FileInfo(path); long filesize = fileInfo.Length; long ahrt = filesize / 1024; //몫 int skajwl = ((filesize % 1024) == 0 ? 1024 : 0); //나머지 /* 파일을 읽어 로직에 담음 */ BinaryReader brfile = new BinaryReader(File.OpenRead(path)); byte[] tmpd_0 ..
-
Apache FTP Server에 TLS 인증서 생성하기프로그래밍/Java 2019. 2. 2. 23:05
FTP서버를 구축하는 방법에는 여러가지가 있겠지만, 자신만의 기능이 필요하다면 처음부터 개발하거나 기존의 오픈소스를 이용하여 수정/추가를 해가며 발전 시켜나가는 방법밖에는 없다. APACHE MINA를 이용하여 FTP SERVER를 만든 것이 있다기에 주물럭 거려 보다가 SSL(X.509)기능이 탑재되어있음을 알았지만, SSL(X.509)에서 사용할 TLS 인증서를 어떻게 발급 받아야 하는지는 불친절 하게도 알려주지 않았다. 아파치 ftp서버 프로젝트 주소 : https://mina.apache.org/ftpserver-project/index.html 여러 삽질을 하다가 JAVA의 KEYTOOL을 이용하면 TLS인증서를 발급 받을 수 있음을 구글링을 통해 알아내게 되었다.간단히 .bat파일로 만들어 보..