2015년 7월 21일 화요일

GO 언어 기본 문법 - 8

-----------파일 쓰기---------------------
func Create(name string)(file *File, err error)  //기존 파일을 열거나 새 파일을 생성
func(f *File)Close() error  //열린 파일을 닫음
func(f *File)Write(b []byte)(n int, err error)  //파일에 값을 씀. 파일에 쓴 데이터의 길이와 에러 값을 리턴

----------파일 읽기---------------------
func Open(name string)(file *File, err error) //파일 열기
func (f *File) Stat()(fi FileInfo, err error)  //파일의 정보를 얻어옴
func (f *File) Read(b []byte) (n int, err error) //파일에서 값을 읽음

----------파일 읽기 쓰기---------------
//파일 플래그, 파일 모드를 지정하여 파일 열기
func OpenFile(name string, flag int, perm FileMode)(file *File, err error)

//파일을 읽거나 쓸 위치로 이동
func (f *File)Seek(offset int64, whence int)(ret int64, err error)

------------압축 사용하기------------------
//io.Reader인터페이스로 io.Reader 인터페이스를 따르는 압축 해제 인스턴스 생성
func NewReader(r io.Reader)(*Reader, error)

//ioWriter 인터페이스로 io.Writer 인터페이스를 따르는 압축 인스턴스 생성
func NewWriter(w io.Writer)*Writer

//io.Reader를 끝까지 읽어서 바이트 슬라이스로 리턴
func ReadAll(r io.Reader)([]byte, error)

---------------암호화 사용하기---------------

(해쉬 알고리즘 사용하기)-crypto/sha512 패키지

func New() hash.Hash   //SHA512 해시 인스턴스 생성
func Sum512(data []byte) [Size]byte  //SHA512 해시를 계산하여 리턴
func (d *digest)Write(p []byte)(nn int, err error)  //해시 인스턴스에 데이터 추가
func(d0 *digest)Sum(in []byte)[]byte //해시 인스턴스에 저장된 데이터의 SHA512해시값 추출

(AES 대칭킹 알고리즘 사용하기)-crypto/aes 패키지

func NewCipher(key []byte)(cipher.Block, error) 대칭키 암호화 블록 생성
func (c *aesCipher)Encrypt(dst, src []byte) 평문을 AES알고리즘으로 암호화
func(c *aesCipher)Decrypt(dst, src []byte) AES 알고리즘으로 암호화된 데이터를 평문으로 복호화

(RSA 공개키 알고리즘 사용하기)-crypto/rsa 패키지

//개인키와 공개키 생성
func GenerateKey(random io.Reader, bits int)(priv *PrivateKey, err error)

//평문을 공개키로 암호화
func EncryptPKCS1v15(rand io.Reader, pub *PublicKey, msg []byte)(out [[]byte, err error)

//암호화된 데이터를 개인키로 복호화
func DecryptPKCS1v15(rand io.Reader, priv *PrivateKey, ciphertext []byte)(out []byte, err error)
















댓글 없음:

댓글 쓰기