지돌이의 블로그 입니다!

2014.10.08. 07:03



JsNaverLogin는 네이버 웹사이트 로그인/관리를 C#에서 HttpWebRequest을 통해 구현한 것입니다.
네이버 로그인은 2중 암호화 방식을 사용합니다. (1단계:RSA암호화, 2단계:HTTPS암호화)
JsNaverLogin는 이 RSA암호화까지 구현하였고, 로그인, 로그인(세션)체크, 로그아웃까지도 지원합니다.

주요기능
 - 로그인 (RSA 2단계 암호화 가능)
 - 로그인세션확인
 - 로그아웃
 - 여러가지 파싱방법으로 추후웹페이지 수정에도 어느정도 대처 (로그인되어있을때, 안되어있을때 각각 2가지씩 총 4방면의 파싱)

콘텐츠 파일에 예제 소스 포함되어 있습니다.

class clsJsNaverLogin
{
    public clsJsNaverLogin(); //생성자
    public clsJsNaverLogin(int timeout); //생성자; timeout시간 (ms단위, 기본 1500ms)
    public clsJsNaverLogin(System.Net.CookieContainer cookiecontainer); //생성자; Cookie컨테이너
    public clsJsNaverLogin(int timeout, System.Net.CookieContainer cookiecontainer); //생성자; timeout시간, Cookie컨테이너
`   public void SetProxyServer(string addr, UInt16 port); //프록시 서버 설정
    public void SetProxyServer(string addr, UInt16 port, System.Net.ICredentials Credentials); //프록시 서버 설정; 인증기능가능
    public int GetLoginRSAKey(); //로그인정보 암호화 RSA Key값 얻기
    public int Login(string id, string password, ref string strWebResponse, ref string strWebTitle); //로그인 (결과Web소스, Title수신가능)
    public int Login(string id, string password); //로그인
    public int Logout(); //로그아웃
    public int CheckLoggedIn(ref string strLoggedIn_ID, ref int ResultCnt_positive, ref int ResultCnt_negative); //로그인(세션)확인 (로그인된ID, 로그인여부 확율값 (positive/negative)확인가능)
    public int CheckLoggedIn(); //로그인(세션)확인
    public System.Net.CookieContainer GetCookiecContainer(); //Cookie컨테이너 얻기
}

로그인 전 로그인세션확인 (로그인이 되어있지 않으므로 FALSE)


로그인 실패시 (Failed)


로그인 성공(Succeed)


로그인 확인(로그인 된 상태이므로 TRUE), 소스에서 파싱한 ID값 출력.


로그아웃




이 소스의 수정은 자유하나 기본적으로 원본 소스재판매는 금지합니다.

빌드된 프로그램은 자유롭게 사용하실 수 있습니다.


다운로드 : http://dexpert.devpia.com/TecBoxs/3067

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

2013.12.11. 20:42



NaverStaticMap은 프로그램에서 쉽게 지도를 이용할 수 있게 해주는 클래스입니다.

지도는 네이버의 Static지도(1.1버젼 최신)를 이용하였으며,

Static map을 이용해 서버필요없시 컴퓨터만으로 작동할 수 있고, 기존의 네이버맵(자바/Flash등등)에 구애받지 않고

원하는 기능을 마음껏 넣을 수 있습니다!

 

처음 이동을 클릭하면.


 

마커를 추가할 수 있습니다.


 

마커를 클릭하면!

마커클릭은 이벤트로 되어있어서, 마커를 클릭하면 메뉴를 보이게 할 수도 있습니다.


마우스로 드래그하면!

 

뭐 마커, 마우스 드래그 모두 네이버에 기본으로 있는게 아니라 직접 구현했습니다.

마커도 원하면 marker.png파일을 수정해 그림을 바꿀수도 있습니다.

 

지도타입을 설정할 수 있고, 캐쉬사용으로 지돌르 저장해 같은 위치를 보면 네이버에 접속하지 않고, 사진을 받아옵니다.

그리고 마커마다 고유번호가 있어 모든 마커를 구분할 수 있습니다.

 


Public Function DeleteCache() As Boolean 캐시파일을 삭제합니다.

Public Function Init( : 처음에 초기화와 설정합니다.

ByVal NaverMapAPIURL As String, : 네이버맵 API주소를 입력합니다.

(http://openapi.naver.com/map/getStaticMap 을 입력하시면 됩니다.)

ByVal NaverMapAPIKey As String, : 네이버에서 발급받은 Key을 입력합니다.

ByVal NaverMapAPIKeyUrl As String, : 발급받은 Key의 URL을 입력합니다.

ByVal Width As Integer, : 맵의 가로크기입니다.

ByVal Height As Integer, : 맵의 세로크기입니다.

Optional ByVal CachePath As String "" 캐시파일을 저장할 디렉토리입니다.

지정하지 않으면 어플리케이션디렉토리\CACHE폴더에 저장됩니다.

As Integer 성공시 0실패시 오류번호를 반환합니다.

 

Public Function SetMapPictureBox( : 처음에 맵을 표시할 픽쳐박스를 지정합니다.

ByRef Pic As PictureBox : 픽쳐박스컨트롤 입니다.

As Boolean 성공시 True을 실패시 False을 반환합니다.

 

Public Function SetSize( : 맵의 크기를 변경합니다.

ByVal Width As Integer, : 맵의 가로크기입니다.

ByVal Height As Integer 맵의 세로크기입니다.

As Boolean 성공시 True을 실패시 False을 반환합니다.

 

Public Function SetMapType( : 맵의 타입을 변경합니다.

ByVal MapType As NaverMapType : 맵의 타입입니다. NaverMapType을 참조하세요.

As Boolean 성공시 True을 실패시 False을 반환합니다.

 

Public Function SetCenter(

ByVal Level As Byte, : 맵의 레벨(확대)을 지정합니다. (1~14)

ByVal Lng As Double, : 경도를 지정합니다.

ByVal Lat As Double 위도를 지정합니다.

As Integer 성공시 0실패시 오류번호를 반환합니다.

 

Public Sub GetCenter( : 현재 지도의 위치를 얻어옵니다.

Optional ByRef Level As Byte = 0, : 맵의 레벨입니다.

Optional ByRef Lng As Double = 0, : 경도입니다.

Optional ByRef Lat As Double = 0) : 위도입니다.

 

Public Function Marker_Create( : 마커를 생성합니다.

ByVal Lng As Double, : 마커의 경도입니다.

ByVal Lat As Double, : 마커의 위도입니다.

ByRef MarkerNumber As Integer 마커의 번호를 반환합니다.

As Integer 성공시 0실패시 오류번호를 반환합니다.

 

Public Function Marker_Delete( : 마커를 삭제합니다.

ByVal MarkerNumber As Integer 마커의 번호입니다.

As Integer 성공시 0실패시 오류번호를 반환합니다.

 

 

Public Event Map_Markers_ClickEvent( : 마커를 클릭하면 실행될 이벤트입니다.

ByVal MarkerNumber As Integer, : 마커의 번호입니다.

ByVal As System.Windows.Forms.MouseEventArgs) : MouseEventArgs타입의 이벤트 정보입니다.

 

 

Public Enum NaverMapType As Byte 맵의 타입Enum입니다.

DefaultMap = 0 : 기본지도입니다.

SatelliteMap = 1 : 위성지도입니다.

Satellite_overlay = 2 : 위성 중첩지도입니다.

DefaultMap_bicycle = 3 : 기본 자전거도로 중첩지도입니다.

DefaultMap_traffic = 4 : 기본 자동차도로 중첩지도입니다.

Satellite_bicycle = 5 : 위성 자전거도로 중첩지도입니다.

Satellite_traffic = 6 : 위성 자동차도로 중첩지도입니다.

End Enum

 

자세한것은 예제소스를 참고해주세요!

데브피아ID : jic5760

E-Mail : jic5760@naver.com

이 소스의 수정은 자유하나 소스를 재배포, 재판매, 대여 등은 허용하지 않으며

빌드된 프로그램은 자유롭게 사용하실 수 있습니다. 

 

소스 다운로드 : http://dexpert.devpia.com/Tecboxs/2595


다시보니 소스에 문제가 약간씩 있네요... 수정한 C#소스입니다.

http://dexpert.devpia.com/TecBoxs/3138

Comment +0

2013.07.11. 19:08


제가 예전에 만들었던 겁니다.

저두 많이 사용하는데 TCP클라이언트 테스트는 간단하게 telnet/putty으로 해결할 수 있지만

UDP클라이언트는 직접프로그램을 짜야 되서... 만들어 본겁니다.


JUDPTester 는 간단한 UDP 송수신 테스트 프로그램입니다.


프로그램 사용방법은 서버/클라이언트 선택 후 Connect을 클릭한 뒤

클라이언트에서 먼저 데이터를 전송한 후 서버에서도 클라이언트로 데이터를 전송할 수 있습니다.

(UDP는 TCP와는 달리 연결지향성이 아니기 때문에 먼저 클라이언트에서 데이터를 주어야 서버가 클라이언트의 IP Address을 알 수 있습니다.)

 

개행문자삽입체크시 데이터 전송시 자동으로 마지막에 개행문자를 삽입합니다.

 

개행문자:\n 체크시 개행문자를 \n(LF)으로 설정하고, 체크하지 않으면 \r\n(CR,LF) 으로 설정됩니다.

 

문자 인코딩은 UTF-8 ASCII Unicode SystemDefault 을 지원합니다.

 

단축키 Ctrl+Enter : 데이터 전송

 

p.s. 가끔 프로그램을 종료할 때? 응답없음이 되는 경우가 있는데 조만간 수정하겠습니다.

사용엔 별 지장은 없어요~ㅋ

** 추가 : 바로 수정했습니다~ㅋ


JUDPTester.exe

VB.Net / Visual Studio 2012 / .Net Framework 3.5 으로 만듬.

소스는 http://dexpert.devpia.com/Tecboxs/2738

Comment +0