'IT·컴퓨터'에 해당되는 글 2건

  1. 2012.11.26 C#으로 구현한 DES 문자열 암호화! 2
  2. 2009.06.19 웹용 포토샵? Sumo Paint 1.1
내가 아는거/C#2012. 11. 26. 23:51
문자열 암호화는 여기저기서 자주 사용하게된다.
함수로 만들어봤다 ㅎㅎㅎ
에러처리등이 없긴 하지만 급한대로 가져다 쓸 수 있을 듯?
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

//요거 걸어줘야한다.  
using System.Security.Cryptography;

namespace LC2Crypt
{
    class Program
    {
        static void Main(string[] args)
        {
            string OriStr = "Hello World";
            string EncStr = Encrypt(OriStr);
            string DecStr = Decrypt(EncStr);

            Console.WriteLine("원본 데이터==========================");
            Console.WriteLine(OriStr);

            Console.WriteLine("암호화 데이터=========================");
            Console.WriteLine(EncStr);

            Console.WriteLine("복호화 데이터=========================");
            Console.WriteLine(DecStr);
        }

        //암호화 키.  8글자로 이루어짐.
        static byte[] Skey = ASCIIEncoding.ASCII.GetBytes("11111111");

        static string Encrypt(string p_data)
        {
            // 암호화 알고리즘중 RC2 암호화를 하려면 RC를
            // DES알고리즘을 사용하려면 DESCryptoServiceProvider 객체를 선언한다.
            //RC2 rc2 = new RC2CryptoServiceProvider();
            DESCryptoServiceProvider rc2 = new DESCryptoServiceProvider();

            // 대칭키 배치
            rc2.Key = Skey;
            rc2.IV = Skey;

            // 암호화는 스트림(바이트 배열)을
            // 대칭키에 의존하여 암호화 하기때문에 먼저 메모리 스트림을 생성한다.
            MemoryStream ms = new MemoryStream();

            //만들어진 메모리 스트림을 이용해서 암호화 스트림 생성 
            CryptoStream cryStream =
                              new CryptoStream(ms, rc2.CreateEncryptor(), CryptoStreamMode.Write);

            // 데이터를 바이트 배열로 변경
            byte[] data = Encoding.UTF8.GetBytes(p_data.ToCharArray());

            // 암호화 스트림에 데이터 씀
            cryStream.Write(data, 0, data.Length);
            cryStream.FlushFinalBlock();

            // 암호화 완료 (string으로 컨버팅해서 반환)
            return Convert.ToBase64String(ms.ToArray());
        }

        static string Decrypt(string p_data)
        {
            
            // 암호화 알고리즘중 RC2 암호화를 하려면 RC를
            // DES알고리즘을 사용하려면 DESCryptoServiceProvider 객체를 선언한다.
            //RC2 rc2 = new RC2CryptoServiceProvider();
            DESCryptoServiceProvider rc2 = new DESCryptoServiceProvider();

            // 대칭키 배치
            rc2.Key = Skey;
            rc2.IV = Skey;

            // 암호화는 스트림(바이트 배열)을
            // 대칭키에 의존하여 암호화 하기때문에 먼저 메모리 스트림을 생성한다.
            MemoryStream ms = new MemoryStream();
            
            //만들어진 메모리 스트림을 이용해서 암호화 스트림 생성 
            CryptoStream cryStream = 
                              new CryptoStream(ms, rc2.CreateDecryptor(), CryptoStreamMode.Write);

            //데이터를 바이트배열로 변경한다.
            byte[] data = Convert.FromBase64String(p_data);

            //변경된 바이트배열을 암호화 한다.
            cryStream.Write(data, 0, data.Length);
            cryStream.FlushFinalBlock();

            //암호화 한 데이터를 스트링으로 변환해서 리턴
            return Encoding.UTF8.GetString(ms.GetBuffer());
        }
    }
}


Posted by zinzza
쓸만한 프로그램2009. 6. 19. 15:07

저는 이런저런 프로그램이나 OS를 많이 설치해보는 편입니다.

그렇다고 무슨 파워유저니 뭐니 그정도는 아니지만 ^^;

최근에 맥OS를 설치해봤는데 나름 재미도 있고 보람도 있었지요..

아~ 다른게 아니고 맥OS에서 포토샵을 설치하고 싶었는데 녹녹치 않았다는게 문제였는데...

맥용 포토샵을 구하기 귀찮았다고나 할까--?

겸사겸사 포토샵을 대체할 수 있는 프로그램들을 깔아보기 시작했습니다.

그러다 엄청난놈을 찾았는데요^^;

사용자 삽입 이미지

제 파이어폭스에서 실행되는 스모페인트입니다.

http://www.sumo.fi/products/sumopaint/index.php

http://www.sumopaint.com/app/ (2012-04기준)

홈페이지:http://www.sumopaint.com/


바로 요놈인데요. 

바로 웹브라우저에서 실행되는 이미지 에디터!
플래시로 만든건데 대단합니다. ㅎㅎ

포토샵과 비슷한 UI에, 레이어를 지원합니다.
자... 장단점을 좀 나열해 보면요.

==============장점==============
1. 설치할 필요가 없다.

당연히 없지요... 인터넷이 되는곳이라면 언제어디서든!
2. 레이어가 지원된다.
포토샵 이외에 이미지에디터를 찾아보신분들은 아시겠지만 레이어를 지원하는 프로그램들이 생각외로 적습니다.
웹용이라면 더 그렇지요.
3. 포토샵과 비슷한 UI를 갖고 있다.
ㅎ 따로 공부하지 않아도 어느정도 사용 가능합니다.
사용하기 편한거죠.
4. 공짜닷-o-;
프로그램을 사용하는 사람의 입장에서 이만한 장점은 없는거같습니다.
내가 사용하는 프로그램이 불법은 아닐까?  하는 불안감 없이 맘 편히 사용할 수 있다는거죠.  학교든 ^^

그럼 단점도 있겠죠?
==============단점==============
1. 포토샵보다 후지다-_-;
너무나 당연한거지만 아직까지 웹용 어플리케이션을 설치형 프로그램과 비교한다는게...
그래도 워낙 포토샵이랑 비슷하니까 처음 보는 사람들마다 같은 얘기를 합니다.
"포토샵은 되는데 이건 안되네...?" 
2. 느리다.
이것도 당연한거지만  간단한 사진편집등에는 문제가 없습니다.
그래도 사진이 많아지거나 컴퓨터 사양에 따라 많이 느려지기도 하네요.


사실 딱히 단점을 꼽기 힘들만큼 훌륭한 프로그램이 아닌가 하는 생각이 듭니다.

우리나라 사람들 특징인거같기도 한데... 
사진에 잡티 하나 지울려고 수십만원짜리 포토샵을 불법으로 사용하고,
쓰지도 않는 기능이 잔뜩 들어 무거운 최신버전의 프로그램을 사용하고...

그럴 필요 없이 필요한 기능만 딱 들어있고, 설치도 필요없으며, 공짜고, 아무대서나 쓸 수 있는 Sumo Paint  정말 멋진 프로그램이 아닌가 생각됩니다.


특히! 
리눅스, 유닉스, 맥OS를 사용하시는 분들! 
급하게 포토샵이 필요한데 구하기 힘드신분들!
이런 저런 이유로 불법 소프트웨어를 설치할 수 없는분들!
PC방에서 포토샵 안깔려있다고 하시는 분들!
에게 강추입니다-_-;

마지막으로 Tip...
일단 회원가입하시면 웹상에 저장도 됩니다. 
그리고 웹상에 저장하셔야 레이어 정보가 저장되며, 내 PC로 저장하는경우 레이어는 합쳐집니다.


요고이 링크~~
http://www.sumo.fi/products/sumopaint/index.php

http://www.sumopaint.com/app/ (2012-04기준)

Posted by zinzza