[유니티/작업] ZXinq + SHA256 + QR코드 대량 생성기 구현/만들기 - 2

2022. 9. 18. 23:18·유니티/작업

저번엔 기본인 필수 기능을 구현하였습니다. (데이터를 QR코드로 생성)

이번에는 QR코드 생성할 때 입력되는 데이터 값을 SHA-256 알고리즘을 적용시켜

암호화된 데이터를 입력시켜 보겠습니다.

* 솔직히 다른 분들은 1편 수준만 하셔도 무난하게 사용 가능할 듯싶습니다 (저는 프로젝트 이유상 필요하기에...)

 

입력 데이터를 SHA 해시값으로 암호화시키는 함수 구현은 찾아보니

이미 마이크로소프트에서 제공하는 기능이 있어서  의외로 간단하였습니다.

    /// <summary>
    /// SHA-256 알고리즘으로 데이터 암호화
    /// </summary>
    /// <param name="data">암호화할 데이터</param>
    /// <returns></returns>
    private static string CryptoSHA(string data)
    {
        var bytes = Encoding.UTF8.GetBytes(data);
        var hash = new SHA256CryptoServiceProvider().ComputeHash(bytes);
        var encryptedData = new StringBuilder();

        foreach(var h in hash) encryptedData.AppendFormat("{0:x2}",h);

        return encryptedData.ToString();
    }

 

[암호화 테스트]

private void TestSHA()
{
    string testData = "ABCDEFG";
    Debug.Log($"Input : {testData}");
    Debug.Log($"Encrypt SHA : {EncryptSHA("ABCDEFG")}");
}

암호화 테스트 결과 로그

 

[암호화 데이터 => QR코드 생성 테스트]

private void Test()
{
    string testData = "ABCDEFG";
    string shaData = EncryptSHA(testData);

    SaveQRCode(CreateQRCode(shaData),"C:/Users/user/Desktop","CryptoQR");
}

위에 테스트 결과에따른 QR코드
위 QR코드를 캡쳐했을때 데이터값

모두 제대로 동작하는 듯합니다.

이제 다음은 QR코드를 대량으로 생산하는 과정까지 작업해 보겠습니다.

근데 대량 생산 작업이라고 해봐야 구현한 기능들을 활용해 유니티 상 UGUI화면으로

인터페이스를 제작하는 수준이라 핵심 기능들은 끝이 난 거 같습니다.

 

 

 

 

 

 

 

참고 자료:

https://majg.tistory.com/70

 

SHA256 단방향 암호화하기

이글에서는 SHA256 클래스를 통해 데이터를 암호화하는 방법을 설명한다. SHA256 클래스를 사용하려면 Cryptography 네임스페이스를 사용해야한다. using System.Security.Cryptography; Crytography 네임스페이스..

majg.tistory.com

https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.sha256?view=net-6.0 

 

SHA256 Class (System.Security.Cryptography)

Computes the SHA256 hash for the input data.

learn.microsoft.com

 

저작자표시 변경금지 (새창열림)
'유니티/작업' 카테고리의 다른 글
  • [유니티/게임개발] 픽셀 리마인드(PixelRemind) - 갤러리 모드 추가 수정 및 코드 정리
  • [유니티/게임개발] 픽셀 리마인드(PixelRemind) - 픽셀 아트의 json데이터를 다이어트 시키기
  • [유니티/작업] ZXinq + SHA256 + QR코드 대량 생성기 구현/만들기 - 3
  • [유니티/작업] ZXinq + SHA256 + QR코드 대량 생성기 구현/만들기 -1
프로포폴
프로포폴
Unity 클라이언트 개발자가 운영 하는 개발 블로그 입니다
  • 프로포폴
    약파는개발자
    프로포폴
  • 전체
    오늘
    어제
    • 분류 전체보기 (67)
      • 유니티 (21)
        • 공부 (0)
        • 튜토리얼 (0)
        • 에셋 (3)
        • 문제 해결 (2)
        • 작업 (16)
      • 언리얼(Unreal) (1)
        • 문제 해결 (1)
      • 백준 (20)
        • 브론즈5 (Bronze V) (20)
      • 프로그래머스(Programmers) (23)
        • C# 풀이 (23)
      • C# (0)
        • 팁 (Tip) (0)
      • 컴퓨터 과학(CS) (2)
        • 알고리즘 (1)
        • 자료구조 (1)
  • 블로그 메뉴

    • 홈
    • 글쓰기
    • 태그
    • 유니티
    • 알고리즘
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    컴퓨터과학
    프로그래머스
    탐색(Search)
    Unity
    알고리즘
    baekjoon
    Bronze V
    픽셀리마인드
    projecta
    개발일지
    프로그래머스_C#
    SHA
    작업
    C++
    백준
    유니티
    c#
    브론즈5
    CS
    프로그래머스_Lv.0
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
프로포폴
[유니티/작업] ZXinq + SHA256 + QR코드 대량 생성기 구현/만들기 - 2
상단으로

티스토리툴바