# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-import hashlib, base64, ecdsa, re
+import hashlib
+import base64
+import re
+import sys
import hmac
-import aes
+
+
+try:
+ import ecdsa
+except ImportError:
+ sys.exit("Error: python-ecdsa does not seem to be installed. Try 'sudo pip install ecdsa'")
+
+try:
+ import aes
+except ImportError:
+ sys.exit("Error: AES does not seem to be installed. Try 'sudo pip install slowaes'")
+
+try:
+ import pbkdf2
+except ImportError:
+ sys.exit("Error: pbkdf2 does not seem to be installed. Try 'sudo pip install pbkdf2'")
+
+
+
from util import print_error
+
+
# AES encryption
EncodeAES = lambda secret, s: base64.b64encode(aes.encryptData(secret,s))
DecodeAES = lambda secret, e: aes.decryptData(secret, base64.b64decode(e))
addr_c = public_key_to_bc_address(pubkey_c)
addr_u = public_key_to_bc_address(pubkey_u)
- print "Private key ", '%064x'%pvk
+ #print "Private key ", '%064x'%pvk
eck = EC_KEY(number_to_string(pvk,_r))
- print "Compressed public key ", pubkey_c.encode('hex')
+ #print "Compressed public key ", pubkey_c.encode('hex')
enc = EC_KEY.encrypt_message(message, pubkey_c)
dec = eck.decrypt_message(enc)
assert dec == message
- print "Uncompressed public key", pubkey_u.encode('hex')
+ #print "Uncompressed public key", pubkey_u.encode('hex')
enc2 = EC_KEY.encrypt_message(message, pubkey_u)
dec2 = eck.decrypt_message(enc)
assert dec2 == message
signature = eck.sign_message(message, True, addr_c)
- print signature
+ #print signature
EC_KEY.verify_message(addr_c, signature, message)
return xpub, xprv
+ def test_aes(self):
+ s = u'\u66f4\u7a33\u5b9a\u7684\u4ea4\u6613\u5e73\u53f0'
+ self.do_test_aes(s, s)
+
+ def do_test_aes(self, s, p):
+ enc = pw_encode(s, p)
+ dec = pw_decode(enc, p)
+ assert dec == s
if __name__ == "__main__":