Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cody-p2p/tokens
Token Software API (prebuild)
https://github.com/cody-p2p/tokens
code open project rebuild token
Last synced: about 4 hours ago
JSON representation
Token Software API (prebuild)
- Host: GitHub
- URL: https://github.com/cody-p2p/tokens
- Owner: cody-p2p
- License: other
- Created: 2024-08-25T12:41:46.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-24T05:18:05.000Z (15 days ago)
- Last Synced: 2024-10-24T23:11:12.529Z (14 days ago)
- Topics: code, open, project, rebuild, token
- Language: C
- Homepage:
- Size: 67.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Import the necessary libraries
IF you wish to use this code please feel free with this project.```
// SPDX-License-Identifier: MIT
// Compatible with OpenZeppelin Contracts ^5.0.0
pragma solidity ^0.8.22;import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";contract MyToken is ERC20, ERC20Permit {
constructor() ERC20("MyToken", "MTK") ERC20Permit("MyToken") {}
}
``````
import hashlib
import time
import json
```
## Define the token class
```
class Token:
def __init__(self, user_id, expires_in=3600):
self.user_id = user_id
self.expires_in = expires_in
self.token = self.generate_token()def generate_token(self):
# Generate a random token using a hash function
token = hashlib.sha256((str(self.user_id) + str(int(time.time()))).encode()).hexdigest()
return tokendef verify_token(self, token):
# Verify the token by checking if it matches the generated token
if token == self.token:
return True
return Falsedef get_user_id(self):
return self.user_id
```
## Create a token for a user
```
user_id = 123
token = Token(user_id)
```## Print the token
```
print("Token:", token.token)
```
## Verify the token
```
print("Is token valid?", token.verify_token(token.token))
```
## Try to verify an invalid token
```
print("Is invalid token valid?", token.verify_token("invalid_token"))
```
## Get the user ID from the token
```
print("User ID:", token.get_user_id())
```
## Token expiration
```
print("Token expires in:", token.expires_in, "seconds")
```
## Simulate token expiration
```
time.sleep(token.expires_in)
print("Token still valid?", token.verify_token(token.token)) # Should be False
```
## Create a new token with a new expiration time
```
new_token = Token(user_id, expires_in=7200)
print("New token:", new_token.token)
print("New token expires in:", new_token.expires_in, "seconds")
``````
import hashlib
import binascii
```
## # Define a function to hash a string using different algorithms
```
def hash_string(s, algorithm):
if algorithm == "md5":
return hashlib.md5(s.encode()).hexdigest()
elif algorithm == "sha1":
return hashlib.sha1(s.encode()).hexdigest()
elif algorithm == "sha256":
return hashlib.sha256(s.encode()).hexdigest()
elif algorithm == "sha512":
return hashlib.sha512(s.encode()).hexdigest()
else:
return "Invalid algorithm"
```
## Test the function with different strings and algorithms
```
strings = ["hello", "world", "python"]
algorithms = ["md5", "sha1", "sha256", "sha512"]for s in strings:
for algorithm in algorithms:
print(f"{s} hashed with {algorithm}: {hash_string(s, algorithm)}")
```
## Example usage: hash a string using MD5
```
hashed_string = hash_string("hello", "md5")
print(f"Hashed string: {hashed_string}")
```
# Example usage: hash a string using SHA-256
```
hashed_string = hash_string("hello", "sha256")
print(f"Hashed string: {hashed_string}")
```