타올라라 게임혼! www.gamehon.com

비트코인은 sha-256기반으로 만들어진 값을 ripemd-160으로 재처리한다고 하기에 구현


public String makeWalletID()

    {

        String wid = "";

        try {

            MessageDigest sh = MessageDigest.getInstance("SHA-256");

            walletseed = uid+":"+Util.getPostHash();

            byte[] b64 = Base64.getEncoder().encode(walletseed.getBytes());

            sh.update(b64);

            byte[] shByte = sh.digest();

            StringBuffer sb = new StringBuffer();

            for(int i=0;i<shByte.length;i++)

            {

                sb.append( Integer.toHexString(shByte[i]&0xff));

            }

            //System.out.println("sha:"+sb.toString());

            byte[] ripByte = Ripemd160.getHash(shByte);

            sb = new StringBuffer();

            for(int i=0;i<ripByte.length;i++)

            {

                sb.append( Integer.toHexString(ripByte[i]&0xff));

            }

            //System.out.println("rip:"+sb.toString());

            wid = sb.toString();

        } catch (NoSuchAlgorithmException ex) {

            Logger.getLogger(InfoData.class.getName()).log(Level.SEVERE, null, ex);

        }

        return wid;

    }


기본적으로 seed를 어떠한 것으로 할지 고민하다가 추후 태깅을 위한 분리자를 추가해 보았다.


seed 자체는 1차적으로 uid를 활용하겠지만 타 코인들과 다른 점으로 내새우기 위한 포스트맨 네트워크에서 활용하기 위한 구분자로서의 역할도 고려해야 할 것으로 보인다.


테스트 코드는 문제 없고, 이번 주 내로 안드로이드로는 하나 내야할텐데 힘내보자 !!



'I.Coin Project' 카테고리의 다른 글

QUIDO 체인 활용, 게임체인  (0) 2018.05.09
Coin design.  (0) 2018.05.07
Oparts Hunter Map (OHM)  (0) 2018.05.03
ART 백서 작성을 해야한다.  (0) 2018.04.25
지갑 생성 구현  (0) 2018.03.20
DAPP 개발로 선회  (0) 2018.01.10

Comment +0