Ich arbeite an einer Multi-Plattform-App und ich habe die Datenbank und die Web-Version fertig. Um einen Code in der Web-Version zu überprüfen, erhalte ich eine Hash-Version von der Datenbank und vergleiche die beiden. Ich benutze diesen JavaScript-Code zu Hash (ich dies auf another question gefunden):replizieren JavaScript-Hash-Funktion zu Java/Kotlin
hashCode = function(s){
return s.split("").reduce(function(a,b){a=((a<<5)-a)+b.charCodeAt(0);return a&a},0);
}
Jetzt muß ich in meinem Android App das gleiche tun, aber ich weiß nicht, wie eine Funktion zu machen, die das gleiche gibt in Java oder Kotlin. Weiß jemand wie man das macht oder eine andere plattformübergreifende Vanillelösung hat?
Vielen Dank im Voraus.
Bearbeiten: Ich bin sehr neu zu Kotlin/Java so weiß ich nur, was ich online finden kann und was ich über andere Sprachen weiß. Ich habe versucht, so viel Fehler wie möglich zu entfernen, aber einige Dinge, die ich weiß nicht nur, es gibt immer noch Fehler:
fun go (a: Int, b: String): Int {
var a = ((a shl 5) - a) + Character.codePointAt(b,0);
return a and a
} // this part doesn't give any errors now.
fun hashCode(s: String): String {
return s.split("").reduce(go(a,b)) // I don't know what to pass as parameters + reduce gives an error
}
Sicher ist das eine einfache Methode zum Schreiben in Java. Was hast du probiert? (Bitte behandeln Sie uns nicht als "Schreibe meinen Code für kostenlose" Service!) –
@StephenC Ich habe nicht hinzugefügt, was ich habe, weil es wahrscheinlich sehr schlechten Code ist und es nicht funktioniert. Aber ich habe es jetzt hinzugefügt. –