게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
인터넷에서 구한 0~10000에서 랜덤주사위 증명이라는데
게시물ID : programmer_7682짧은주소 복사하기
작성자 : Ende
추천 : 1
조회수 : 725회
댓글수 : 2개
등록시간 : 2015/01/18 15:51:45
 
 
//the seed pair itself
            var clientSeed = "your client seed"; //dont forget to exclude the dash and the nonce!
            var serverSeed = "your server seed";

            //bet made with seed pair (excluding current bet)
            var nonce      = 0;

            //crypto lib for hmac function
            var crypto = require('crypto');

            var roll = function(key, text) {

                //create HMAC using server seed as key and client seed as message
                var hash = crypto.createHmac('sha512', key).update(text).digest('hex');

                var index = 0;

                var lucky = parseInt(hash.substring(index * 5, index * 5 + 5), 16);

                //keep grabbing characters from the hash while greater than
                while (lucky >= Math.pow(10, 6)) {
                    index++;
                    lucky = parseInt(hash.substring(index * 5, index * 5 + 5), 16);

                    //if we reach the end of the hash, just default to highest number
                    if (index * 5 + 5 > 128) {
                        lucky = 99.99;
                        break;
                    }
                }

                lucky %= Math.pow(10, 4);
                lucky /= Math.pow(10, 2);

                return lucky;
            }
            console.log(roll(serverSeed, clientSeed+'-'+nonce));
 
 
 
roll 값의 verify라는데
 
 
과연 공평하게 나오는거 맞나요?
 
 
전혀 까막눈이라 한번 질문드려봐요!
 
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호