2013년 12월 17일 화요일

[Python] IP 변환 함수

import socket, struct

def dottedQuadToNum(ip):
        # IP Address 를 십진수로 변환
        return struct.unpack('>L', socket.inet_aton(ip))[0]

def numToDottedQuad(n):
        # 십진수를 IP Address로 변환
        return socket.inet_ntoa(struct.pack('>L', n))

def makeMask(n):
        "return a mask of n bits as a long integer"
        return (2L<<n-1)-1

def ipToNetAndHost(ip, maskbits):
        "return tuple (network, host) dotted-quad address given IP and mask size"

        n = dottedQuadToNum(ip)
        m = makeMask(maskbits)
        host = n & m
        net = n - host
        return numToDottedQuad(net), numToDottedQuad(host)

Reentrancy Attack: 블록체인 스마트 컨트랙트의 치명적인 취약점

블록체인 기술이 전 세계적으로 주목받으면서 스마트 컨트랙트(Smart Contract)의 사용이 급격히 증가하고 있습니다. 하지만 그만큼 보안 취약점도 함께 늘어나고 있는데, 그 중에서도 Reentrancy Attack(재진입 공격)은 매우 치명적이고...