Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/04/2020, à 13:24

hamido10002000

Compilation d'un code python[résolu]

Salut les gars,
je viens de compiler un code source python :

import ecdsa
import os
import codecs
from ecdsa.util import string_to_number, number_to_string
# secp256k1, http://www.oid-info.com/get/1.3.132.0.10
_p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
_r = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
_b = 0x0000000000000000000000000000000000000000000000000000000000000007
_a = 0x0000000000000000000000000000000000000000000000000000000000000000
_Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
_Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
curve_secp256k1 = ecdsa.ellipticcurve.CurveFp(_p, _a, _b)
generator_secp256k1 = ecdsa.ellipticcurve.Point(curve_secp256k1, _Gx, _Gy, _r)
oid_secp256k1 = (1, 3, 132, 0, 10)
SECP256k1 = ecdsa.curves.Curve("SECP256k1", curve_secp256k1,
                               generator_secp256k1, oid_secp256k1)
ec_order = _r

curve = curve_secp256k1
generator = generator_secp256k1


def random_secret():
    # Collect 256 bits of random data from the OS's cryptographically secure
    # random number generator
    byte_array = (os.urandom(32)).hex()


    return int(byte_array,16)

def get_point_pubkey(point):
    if (point.y() % 2) == 1:
        key = '03' + '%064x' % point.x()
    else:
        key = '02' + '%064x' % point.x()
    return key


def get_point_pubkey_uncompressed(point):
    key = ('04' +
           '%064x' % point.x() +
           '%064x' % point.y())
    return key

# Generate a new private key.
secret = random_secret()
print("Secret: ", secret)

# Get the public key point.
point = secret * generator
print("Elliptic Curve point:", point)

print("BTC public key:", get_point_pubkey(point))

# Given the point (x, y) we can create the object using:
point1 = ecdsa.ellipticcurve.Point(curve, point.x(), point.y(), ec_order)
assert(point1 == point)

j'ai reçu l'erreur suivant :

user@user-Inspiron-N5110:~$ python ec-math.py 
Traceback (most recent call last):
  File "ec-math.py", line 46, in <module>
    secret = random_secret()
  File "ec-math.py", line 26, in random_secret
    byte_array = (os.urandom(32)).hex()
AttributeError: 'str' object has no attribute 'hex'

une aider svp pour régler ce pb.

Dernière modification par hamido10002000 (Le 15/04/2020, à 13:10)

Hors ligne

#2 Le 15/04/2020, à 09:39

mandeb

Re : Compilation d'un code python[résolu]

bonjour,
J'ai pu reproduire l'erreur en travaillant avec python 2.7, avec python3 ça passe nickel.

essaie de lancer : python3 ec-math.py
@+

Hors ligne

#3 Le 15/04/2020, à 13:09

hamido10002000

Re : Compilation d'un code python[résolu]

mandeb a écrit :

bonjour,
J'ai pu reproduire l'erreur en travaillant avec python 2.7, avec python3 ça passe nickel.

essaie de lancer : python3 ec-math.py
@+

merci  ça marche maintenant

Hors ligne