From a7c7133d4f685fec6b9270dec067ec80d09e2769 Mon Sep 17 00:00:00 2001 From: Zachary Atkins Date: Sat, 10 Apr 2021 15:26:51 -0500 Subject: [PATCH] implemented hashing --- loc_chain_app/lib/util/transaction_manager.dart | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/loc_chain_app/lib/util/transaction_manager.dart b/loc_chain_app/lib/util/transaction_manager.dart index 9bfee07..659fc0a 100644 --- a/loc_chain_app/lib/util/transaction_manager.dart +++ b/loc_chain_app/lib/util/transaction_manager.dart @@ -3,15 +3,25 @@ import 'package:shared_preferences/shared_preferences.dart'; import 'package:sqflite/sqflite.dart'; import 'package:fast_rsa/rsa.dart'; +import 'package:loc_chain_app/util/keyfile_manager.dart'; + import 'dart:io'; class Transaction { - Transaction({required this.otherUserID}) { + Transaction({required this.hash}) { SharedPreferences.getInstance().then((s) => _id = s.getString('id') ?? '0'); } late final String _id; - final String otherUserID; - static Hash? makeTransactionHash() {} + final String hash; + static Future makeTransactionHash(String otherUserId) async { + String id = await SharedPreferences.getInstance() + .then((s) => s.getString('id') ?? ''); + bool idLess = id.compareTo(otherUserId) < 0; + var lesser = idLess ? id : otherUserId; + var greater = idLess ? otherUserId : id; + return RSA.signPKCS1v15("$lesser-$greater", Hash.HASH_SHA256, + KeyFileManager.keyPair.privateKey); + } } class TransactionsDBManager {