Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends Control
- var primes = "2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199"
- var results := []
- func _ready():
- primes = primes.split(", ")
- print(myhash("hello worl"))
- print(myhash("hello world"))
- func myhash(s: String) -> String:
- var a := 0
- var r := ""
- var r2 := ""
- var r3 := ""
- var r4 := ""
- var prime = s.ord_at(0) % primes.size()
- while a < s.length():
- r += str(((s.ord_at(a) + s.length()) + (s.ord_at(s.length() - a - 1) + s.length())) * int(primes[prime]))
- prime += 1
- prime = prime % primes.size()
- a += 1
- a = 0
- while a < r.length():
- var i := r[a] as int
- if a < r.length() - 1:
- r2 += str((i * int(r[a + 1]) + r.length()) * int(primes[prime]))
- if a > 0 and not a < r.length() - 1:
- r2 += str((i * int(r[a - 1]) + r.length()) * int(primes[prime]))
- prime += 1
- prime = prime % primes.size()
- a += 1
- a = 0
- while a < r2.length():
- var i := r2[a] as int
- var b := 0
- var c := 0
- while b < r2.length():
- var j := r2[b] as int
- var k := r2[r2.length() - b - 1] as int
- c += j * i * k % int(primes[prime])
- b += 1
- prime += 1
- prime = prime % primes.size()
- r3 += c as String
- a += 1
- a = 0
- while a < r3.length():
- var i := r3[a] as int
- if i % 2 == 1:
- if a % 2 == 1:
- var x = r3[r3.length()-1]
- r3[r3.length()-1] = r3[a]
- r3[a] == x
- if a % 2 == 0:
- var x = r3[0]
- r3[0] = r3[a]
- r3[a] == x
- if i % 2 == 0:
- if a % 2 == 0:
- var x = r3[r3.length()-1]
- r3[r3.length()-1] = r3[a]
- r3[a] == x
- if a % 2 == 1:
- var x = r3[0]
- r3[0] = r3[a]
- r3[a] == x
- a += 1
- a = 0
- while r3.length() < 64:
- var i := r3[a] as int
- r3 += str(int(primes[prime]) * i)
- a += 1
- a = 64
- while r3.length() > 64:
- r3[a] = ""
- if r3[0] == "0":
- r3[0] = prime % 10
- a = r3.length() - 1
- while a > 0:
- if int(r3[a] + r3[a-1]) >= 10:
- r3[a-1] = char(65 + int(r3[a] + r3[a-1]) - 10)
- r3[a] = ""
- elif int(r3[a] + r3[a-1]) < 10:
- r3[a-1] = str(int(r3[a] + r3[a-1]))
- r3[a] = ""
- a -= 2
- return r3
- OUTPUT:
- ne[FGet6O[O{oldE[kxnnqH~4fz
- wF7nii c71EyLzXNszYkvDL7n
Advertisement
Add Comment
Please, Sign In to add comment