지돌이의 블로그 입니다!

IntelliJ를 써보신분은 아마 Double-Shift로 원하는 소스나 클래스를 찾는 Everywhere기능을 애용하셨을 겁니다.

 

Windows에서도 해당 기능이 있었으면 해서 급하게 만들어 봤습니다.

 

(전 IntelliJ를 열몇개씩 띄어놓고 쓰는 편이라.. 이런 기능이 필요합니다..ㅋ

그리고 급하게 만들었다는건.. 완성도가 떨어진다는 뜻이니..ㅠㅠ 양해부탁드리고 혹시나 직접 기능 추가하신다면 추가 후 PR날려주세요 ^^)

 

github 주소 : https://github.com/jc-lab/WinEverywhere

 

github release에서 다운받으실 수 있습니다.

 

사용법은 그저...

 

Double-Alt를 누르면 창이 뜨고, 원하는 창 이름을 입력한 뒤 엔터누르면 해당 창으로 이동합니다.

 

Esc를 누르면 그냥 WinEverywhere 창만 사라지며 프로세스는 죽지 않습니다.

 

X 버튼을 누르면 프로세스를 끄실 수 있습니다.

 

Comment +0

https://github.com/jc-lab/jwt-cpp-with-mbedtls

Comment +0

협업 솔루션인 JANDI에는 WebHook을 수신할 수 있는 기능이 있습니다.

이 기능을 이용해 특정 메일 주소로 메일을 발송하면 JANDI에 메세지를 보내는 것을 만들었습니다.


https://github.com/jc-lab/mail-to-jandi-connector

Comment +0

JsSignedSecureFile (JAVA) 오픈소스로 공개합니다.


SignedSecureFileInputStream / SignedSecureFileOutputStream


두 개의 클래스를 사용하면 됩니다. (InputStream / OutputStream을 상속받아 구현하였습니다.)


개인키로 설정파일을 암호화하고 공개키로 설정파일을 복호화하며 HMAC을 통해 무결성을 검사합니다.


지원하는 비대칭키(헤더(DataKey) 암호화, 데이터 무결성검증) 알고리즘 : RSA

지원하는 대칭키(데이터 암호화) 암고리즘 : AES


// 쓰기
SignedSecureFileOutputStream secureOutput =
new SignedSecureFileOutputStream(fileOutputStream, privateKey, HeaderCipherAlgorithm.RSA, "secretKey");
// 읽기

SignedSecureFileInputStream secureInput = new SignedSecureFileInputStream(fileInputStream, publicKey, "secretKey");


github(JAVA) : https://github.com/jc-lab/javautils-signedsecurefile

github(CPP) : https://github.com/jc-lab/signedsecurefile-cpp

github(CPP,Example) : https://github.com/jc-lab/signedsecurefile-cpp-example

License : Apache-2.0

https://bintray.com/jc-lab/java-utils/signedsecurefile


Version history

1.0

 - 지원 비대칭키(헤더서명키) : RSA/PKCS1Padding

 - 지원 대칭키(데이터키) : AES-CBC-128

1.1.10

 - EC 알고리즘 지원

 - cpp버전 호한 지원 (1.0버전은 cpp에서 호한되지 않습니다.)


Maven:

<dependency>

<groupId>kr.jclab.javautils</groupId>

<artifactId>signedsecurefile</artifactId>

<version>1.1.10</version>

<type>pom</type>

</dependency>


Gradle:

compile 'kr.jclab.javautils:signedsecurefile:1.1.10'


Comment +0


위는 실행파일

아래는 소스파일입니다.


실행하면 Window의 목록을 보여주고

해당 번호를 선택하면 해당 Window을 0, 0으로 이동시켜 줍니다.

setpos.exe

setpos.cpp


Comment +0

간단하게 Dependency Walker을 C++로 만들었습니다.


mydependstest.zip


License : MIT License

Author : Jichan (development@jc-lab.net)


Comment +0

Raspberry Pi와 GPS을 이용해 NTP서버를 구축하였습니다.



jsntp_lcdd이란 프로그램을 만들었는데 LCD로 GPS/NTP서버 상태를 확인할 수 있는겁니다.


기능

 - GPS 사용된 위성 수 / 보이는 위성 수 출력

 - NTPd 가 사용하고 있는 time source 출력 

 - 실시간 시각 출력

 - systemctl service 지원


뭐.. 별다른건 없습니다^^

소스도... 다른 일들로 바빠서.. 대충짰어요..^^

소스 보면 JsCPPUtils 이라고 있는데 쓸만한 소스 몇개 있으니 사용하세요~~


* 참고

GPS + Raspberry Pi NTP서버 구축

 - http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html

각종 정보 (위에서 *가 뭔지 o가 뭔지 +가 뭔지 등...)

 - http://nlug.ml1.co.uk/2012/01/ntpq-p-output/831


LCD는 많이들 사용하시는 Arduino용 I2C LCD입니다.


jsntp_lcdd을 사용하기 위해서는

먼저 ntp서버 구축, gpsd 설정이 필요하고

(위 URL에 다 방법이 있어요~^^)

gpsd-dev와 ssl-dev설치가 필요합니다. ->

     ( apt-get install gpsd gpsd-dev ssl-dev )


* ntp.conf 참고

# Undisciplined Local Clock. This is a fake driver intended for backup

# and when no outside source of synchronized time is available.

server 127.127.1.0

fudge   127.127.1.0 stratum 10


# Server from shared memory provided by gpsd

server 127.127.28.0 minpoll 4 maxpoll 4 prefer iburst

fudge 127.127.28.0 time1 0.000 refid GPS stratum 8


# Kernel-mode PPS ref-clock for the precise seconds

server 127.127.22.0 minpoll 4 maxpoll 4

fudge 127.127.22.0 refid PPS



그냥...

$ make

$ sudo make install

끝!

서비스 이름 : jsntp_lcdd.service


소스 다운로드 : https://github.com/jic5760/jsntp_lcdd

License : MIT License



...

나중에 파이의 X1 (19.2MHz) 도 TCXO으로 바꾸고...

뭐.. 그런 쓸대없는 짓을 하고 싶네요~ㅋㅋ


Comment +0

제가 요 일주일간 만든 비교적 [내생각에만]걸작?입니다...ㅋㅋ



1. JsSimplexCrypt 란?

JsSimplexCrypt는 기존의 암호화 프로그램과는 달리 단방향 암호화 프로그램입니다. 그렇담 단방향 암호화란 무었이냐구요? 어떤 분은 Hash을 생각하실 수도 있지만 Hash가 아닌 말 그대로 “암호화”입니다. 본 프로그램은 사용자의 비밀번호를 입력하지 않고도 암호화가 가능한 프로그램입니다. 물론 복호화에는 사용자의 비밀번호가 필요합니다.


2. 어떻게 작동하나?

비대칭 키 암호화 방식인 RSA 알고리즘을 사용합니다.

‘정보파일’에는 RSA[1024bit]개인키가 본인의 비밀번호로 암호화[AES-CBC-256]되어 저장되어 있습니다.

파일 암호화에는 랜덤한 파일키를 생성한 뒤 파일 데이터를 파일키로 암호화[AES-CBC-256]하고 파일키는 RSA 공개키로 암호화되어 암호화된 파일 데이터와 저장됩니다.


3. 어디에 사용하나?

기존의 암호화 프로그램들은 파일을 암호화하는데도 비밀번호가 필요하였습니다. 하지만 이 프로그램을 사용함으로써 타인에게 비밀번호를 알려주지 않고 공개키만 전달하여 파일을 암호화 시켜 전달받을 수 있고, 키보드 보안이 우려되는 상황에서 파일을 암호화하고 싶을 때 비밀번호 입력 없이 파일을 암호화 할 수 있습니다. 또한 다수의 파일을 암호화하고자 할 때에 비밀번호 입력 없이 암호화가 가능하기 때문에 더욱 편리합니다.


4. 주의사항.

‘정보파일’ 혹은 비밀번호 분실 시 암호화한 파일의 복호화는 절대 불가합니다. 따라서 ‘정보파일’과 비밀번호는 절대 분실하면 안 됩니다.

또한 이 프로그램과 관련하여 발생하는 오류 및 손실에 대해서는 제작사 및 제작자가 배상책임이 없음을 이해하며 이에 동의한 것으로 간주합니다.



기능

 - 파일 크기 : 이론상 엄청난 용량도 지원합니다..^^ (64bit = 16EBytes...)

   2GB까진 테스트 하였습니다. 버그가 없나 확인하기 위해 4GB이상도 테스트 해 보겠습니다. 조만간...ㅎ

   * 방금 테스트 해 보았는데 4.31GB을 암호화 하는데 150초가 걸렸습니다. 약 30MB/s 의 속도네요.

     복호화에는 190초. 약 23MB/s 의 속도네요.

     CPU Load는 10% (4Thread에서이니까, 한 쓰레드에서 40%에 해당합니다.)

     Intel AES-NI기능이 있는 CPU인데 도움이 되었는지 모르겠네요.

     OpenSSL 라이브러리가 AES-NI을 지원하는지도 확인해야 겠습니다. (조금 보니 EVP을 사용해야 하나 보네요...)


   * 2015-08-06

     EVP 적용하였습니다.

     1.03GB 파일

     암호화:44초(24MB/s) / 복호화:13초(81MB/s)



TEST PC : Windows 8 / i5-2390T / Intel AES-NI / 3.5인치 HDD에서 암호화/복호화


메인화면 입니다.


처음엔 정보파일을 생성한 뒤 비밀번호를 두번 입력하고 '확인' 버튼을 누르면 정보파일과 비대칭 키가 생성됩니다.

그 후 파일 암호화와 복호화가 가능합니다.


이후에는 정보파일을 연 뒤 그냥 파일 암호화를 하거나

비밀번호를 입력하고 '확인'을 누르면 비밀번호 변경 및 파일 복호화가 가능합니다.


파일 암호화 창

비밀번호를 입력하지 않고도 파일 암호화가 가능합니다!


파일 복호화 창

물론 복호화 시에는 비밀번호가 필요하겠죠?ㅎ

앞의 메인 창에서 비밀번호를 입력하였으면 다시 입력할 필요가 없습니다.




* 추후 추가 예정...

 - 다른 암호화 알고리즘 지원 (비대칭-EC / 대칭-SEED/ARIA/LEA등...)

 - 암호캐시 제거 (메모리에서 비밀번호 제거)

 - Advanced 설정 기능 (파일 데이터 버퍼 크기 설정 등... / 기본 파일 데이터 버퍼는 1MB이다.)

 - 뭐 등등..ㅋ



현재 v1.0.0 ( Beta 버전 ) 입니다.

유료로 할까 하다...(내가 생각하기에 나름 잘만든듯?ㅋㅋ)

광고 넣고 무료로 배포합니다.


***** 2015-08-06 *****

v1.1.0

 - EVP사용


***** 2015-10-11 *****

v1.1.001

 - 비밀번호 변경되지 않는 문제 fix. (이런 중대한 문제점이...ㅠㅠ 비밀번호 바꾸고 info파일을 write을 안했네요..ㅠ)


[v1.1.001]

JsSimplexCrypt.exe



[작성중]

JsSimplexCrypt-소개.hwp


Comment +2

JsMulticastMessenger는 한 네트워크 내에서 Multicast을 사용하여 통신하는 간단 메신져 입니다.

 

하나의 컴퓨터에서 프로그램을 중복 실행할 수 있습니다. (중복 Bind)

Multicast을 사용하기 때문에 상대방의 IP을 알지 않아도 통신이 가능합니다.


v2.0 에서는?

- 트레이아이콘 기능 추가

- Alert 기능 추가




소스다운로드 : http://dexpert.devpia.com/TecBoxs/3091

예제 프로그램은 마음것 사용하세요~ㅎ



JsMulticastMessenger.exe



데브피아ID : jic5760

E-Mail : jic5760@naver.com

Comment +0

2014.07.28. 15:43



제가 처음으로 배포하는 안드로이드 어플리케이션 입니다.

이걸루 Google Play Store에 처음 어플을 올려봤네요~

https://play.google.com/store/apps/details?id=kr.jclab.jpubapp_jserpg

(클릭하면 Play스토어로 이동합니다.)

 

JsERPG (Easy Remember Password Generator) 는
그동안의 랜덤 비밀번호 생성기와는 차원이 다른 비밀번호 생성기 입니다!
일반적인 비밀번호 생성기는 AeUta*(C2p+=p 이처럼 외울 수 없는 비밀번호를 만들어 냅니다.
하지만 JsERPG는 AppleDogPeople1652 이처럼 외우기 쉬우면서 강한 비밀번호를 만들어 냅니다.
영어 단어로 만들 수 있는 비밀번호의 개수는 매우 많아 안전합니다.


~ 이 앱은 인터넷 접근 권한을 필요로 합니다.
.....모바일 광고매체에 사용됨.
.....이 외 다른 목적으로 네트워크 접근을 하지 않습니다.

 

 

(캡쳐화면은 제일 초기버젼(v1.0)입니다. ) 

 

많이 이용해 주세요~^^

 

 

* 클립보드 복사기능 추가 (ver,1.1)

* 숫자, 특수문자 추가 (ver,1.2)


Comment +0