한국정보진흥원(KISA)의 SEED 암호알고리즘을 ASP에서 사용하기 위해서 만든 ECPlaza.Seed 컴포넌트의 소스를 공개합니다. 이 컴포넌트는 ANSI X.923 패딩을 사용했고, BASE64 인코딩 절차를 한번 더 거쳤습니다.
사용법은 간단합니다.
ECPlazaSeed.dll을 다운로드 받은 다음 적당한 폴더에 복사한뒤 관리자 권한으로 도스창을 실행시켜서
regsvr32 ECPlazaSeed.dll
64bit OS에서는
c:\windows\syswow64\regsvr32 ECPlazaSeed.dll
을 하면 컴포넌트 등록이 끝납니다.
등록 확인은 테스트 스크립트를 다운 받아서
cscript test.vbs
64bit OS에서는
c:\windows\syswow64\cscript test.vbs
를 도스창에서 실행해서 오류가 발생하지 않으면 제대로 등록이 된 겁니다.
이 컴포넌트는 두개의 메쏘드를 제공합니다.
- Encrypt(sPlainText, sKey)
sPlainText 평서문을 sKey를 가지고 SEED 암호화 및 Base64 인코딩한 결과를 반환합니다. sKey는 반드시 16자리여야만 합니다.
- Decrypt(sCipherText, sKey)
sCipherText 암호문을 Base64 디코딩을 하고, SEED 복호화를 거쳐서 원 평서문을 반환합니다.
사용 예제
Dim oSeed Dim encdata, decdata Set oSeed = Server.CreateObject("ECPlaza.Seed") encdata = oSeed.Encrypt(data, userkey) decdata = oSeed.Decrypt(encdata, userkey)
소스를 컴파일 하기 위해서는 Visual C++ 6가 필요합니다. Visual Stuio .Net에서는 컴파일 해보지 않았습니다. 아마 컴파일이 안 될것 같습니다.
참고:
SEED 알고리즘 – Java API
Seed알고리즘을 이용한 암호화 복호화 기능 수행하는 DLL 만들기
안녕하세요 Seed 알고리즘 소스를 찾아서 리버님의 홈피까지 왔습니다. ^^
지금 현재 제가 나가있는 사이트에는 리버님의 ECPlazaSeed 을 이용해서 암호화가 구축되어 있습니다. 요즘 현업의 요구사항이 있어서 이 암호화를 .NET 으로 구현된 프로그램에도 적용해야 되는 상황이 되었습니다.
또 여러가지 이유로 c로 구현된 ECPlazaSeed 를 이용할수가 없어서 .NET 으로 재 작성해야되는 상황이구요. 리버님 혹시 .NET으로 구현해 놓은 ECPlazaSeed는 없나요?
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=217&MAEULNO=8&no=20472&page=7
위의 링크에서 C# 으로 된 SEED 소스를 구했지만 Encryption 하면 리버님 모듈과 다른 결과가 나오네요
(Padding 을 수정해도 잘 안되네요)
제가 C 는 잘 몰라서 이렇게 도움을 청합니다.
.NET 모듈로 구현한 ECPlazaSeed 가 있으면 좀 보내주세요 음 그것이 안된다면 위 링크의 소스가 왜 리버님 모듈과 다른 지 이유 좀 알려주세요 ㅜ.ㅜ
오늘도 좋은 하루 되세요~~
– 개발자 이승대 ( mailto : seungdae@hanmail.net )
.NET으로 구현된 ECPlazaSeed는 없습니다. 안타깝게도 제가 .NET을 몰라서 바로 도움을 드릴 수가 없을 것 같습니다. 그래도 소스를 한번 비교해 보도록 하겠습니다. 회사일이 바빠서 시간은 좀 걸릴 것 같습니다.
제가 Com은 초보라서 정말 좋은 소스를 보여주셔도 불러올수가없네요
Visual C++ 6에서 작업중인데 불러오는 방법좀 알려주실수있으신지요
클레스위자드에서 불러왔는데 이런식으로 사용하는게 아닌가요 다른방법으로 불러와야될런지요
ISeed nSeed;
CString sKey,sSrc;
CString sTemp,sTemp2;
sKey = “1234567890123456”;
sSrc = “this is a test.”;
sTemp = nSeed.Encrypt(sSrc,sKey);
sTemp2 = nSeed.Decrypt(sTemp,sKey);
이상태로 하면 OutPut창에
Warning: attempt to call Invoke with NULL m_lpDispatch! 이렇게 나옵니다.
안녕하세요.. 제가 이번 프로젝트에서.. 리버님의 ECPlazaSeed를 사용을 하고 있는데요..
이게 지금까지 잘 되다가 갑자기 Server.CreateObject 실패 에러를 띄우면서 안되네요..
이번이 두번째 인데요.. 처음엔 테스트 서버의 문제인가 싶어서 테스트 서버도 옮겨봤는데.. 옮긴 후 역시 잘 되다가 이틀만에 또 같은 에러를 띄우네요..
근데 재밌는건.. test.vbs 파일로 command 상에서 실행을 하면 여전히 잘 된다라는거에요..
dll 등록은 regsvr32 로 했구요.. 파일은 C:\Windows 에 뒀답니다.
이것의 실패 원인이 뭘까요..? 곧 실서버 포팅을 앞두고 있는데.. 갑자기 이런 일이 생겨서 너무 당황스러워요.. ㅜ,ㅜ
만일 실서버에서도 이런 일이 벌어지면 더 큰일이 생기겠지요;;;
부디 .dll 상에는 아무런 문제가 없다고 해주세요.. 그리고.. 이 에러가 한 번 나고난 뒤에는..
regsvr32 /u c:\Windows\ECPlazaSeed.dll 후에.. 다시 regsvr32 를 해도 계속 같은 에러 메세지를 띄우네요..
하도 안되서리.. 관리도구의 구성요소 서비스에까지 등록을 해서 해봤는데도 안되구.. regedit에서 ecplaza 로 들어가있는 모든 값들을 지우고 재부팅하고 파일을 재설치 후.. 시도를 해도 안되고.. ㅜㅜ
아.. 제발 좀 도와주세요.. ㅜ,ㅜ
혹 몰라서 메일 주소도 남겨봅니다.. (mailto : maricom@hanmail.net)
ASP에서 암호화 컴포넌트인 ECPlazaSeed.dll를 사용하고 있습니다.
그런데 아래와 같은 에러가 나오면서 ECPlazaSeed.dll이 더이상 실행되지 않습니다.
에러코드
Microsoft VBScript 오류 ‘800a01fb’
예외 사항 발생: ‘oSeed.decrypt’
/log/new_log.asp, 줄 40
복호화 소스
id = Trim(request(“id”))
userkey = “1234567890123456”
Set oSeed = Server.CreateObject(“ECPlaza.Seed”)
id = oSeed.decrypt( id, userkey )
Set oSeed = Nothing
그래서 레지스트리에 등록 삭제후 재등록 한후에 iisreset를 하면 다시 실행되고 있는데,
도저히 어떤 현상으로 이런 에러가 반복적으로 발생하는지 알수가 없네요~
테스트로 정상적으로 암호화된 문자열을 변형해서 테스트 한 경우 위와 같은 에러가 발생하면서 dll이 작동을 멈추는것 같습니다.
답변 부탁드리겠습니다.
개발자 박주현 (mailto:zzuzzuba74@naver.com)
TX :07E0 02 27 01 FF FF FF FF FF
RX :07E8 04 67 01 “E9 9E” 00 00 00 (E9 9E 물어봅니다)
TX: 07E0 04 27 02 “8B 9F” FF FF FF (E9 9E 값을가지고 특정 알고리즘에 의해 8B 9F생성 )
RX :07E8 03 67 02 34 00 00 00 00
알고리즘을 풀수 있는 방법이 없을까요??
회사에서 진행하는 일입니다.
풀수있다면 꼭 사례 하겠습니다.
rmagksdnr@hanmail.net
안녕하세요. 리버님이 만드신 컴포넌트를 ASP 사용하려구 합니다.
그런데 리버님이 만드신 컴포넌트는 BASE64 인코딩/디코딩을 거치는데 이 과정만 빼고
SEED 복호화만 시키는 DLL파일을 얻을 수 없을까요…?; 제가 C/C++ 개념이 없어서…;
제 메일은 kus5654@hotmail.com 입니다. 답변 주시면 감사하겠습니다.
그럼 수고하세요.
안녕하세요.
보내 주신 파일 잘 받았습니다. 정말 감사드리고요
그런데 그 파일에 문제가 있는것 같습니다. 제가 메일로 에러 캡쳐해서
다시 보내드렸습니다. 확인해 보시고 다시 보내주시면 정말 감사하겠습니다..^^:
부탁 드리겠습니다.
ASP에서 암호화 컴포넌트인 ECPlazaSeed.dll를 사용하고 있습니다.
그런데 아래와 같은 에러가 나오면서 ECPlazaSeed.dll이 더이상 실행되지 않습니다
박주현님께서 작성해주신 부분처럼 이상현상으로 인해 머리아픈일이 발생하고 있습니다.
혹시 해결방안을 찾으셨다면 답변 부탁드립니다.
권순현 : kmlkkwon@gmail.com
안녕하세요 제가 지금 사이트를 asp에서 닷네으로 변경하는 프로젝트를 하고 있습니다. 현재 ECPlazaSeed로 암호화가 되어 있어서 닷넷 버전으로 된 dll이나 방법이 없나하여 문의를 드립니다.
혹시 .net 으로 구현된 ECPlazaSeed를 구할수 없을까요??
죄송합니다. 제가 .net은 몰라서 구현을 하지 못했습니다.