AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke HASH ermitteln - Python nach Delphi, aber wie ?
Thema durchsuchen
Ansicht
Themen-Optionen

HASH ermitteln - Python nach Delphi, aber wie ?

Ein Thema von TERWI · begonnen am 12. Aug 2019 · letzter Beitrag vom 14. Aug 2019
Antwort Antwort
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#1

HASH ermitteln - Python nach Delphi, aber wie ?

  Alt 12. Aug 2019, 17:36
Ich hab hier aus einem PY-file ein Codeschnipsel, was ich gerne nach Delphi übersetzen möchte:
Delphi-Quellcode:
    salt = '01!8d8F_)r9]4s[qeuXfP%'
    client_token = salt[:2] +
                   sha1(''.join([str(channel['video_id']),
                                 salt,
                                 channel['access_token'],
                                 server_token,
                                 channel['client_location'],
                                 'dash:widevine']
                       ).encode('utf-8')).hexdigest()
video_id, access_token, server_token und client_location sind bekannte Strings.

Wenn ich das richtig erkannt habem wird hier ein sah1-Hasch gebildet ?!
Ich hab hier eine DCPCrypt-Komponente und würde gerne mit TDCP_sha1 o.g. entsprechend nachbilden.
Nur was & wie macht denn diese Funktion denn das mit den Strings ?

Kann jemand das nach Delphi "übersetzen", wie ich den String bilden muss ?
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: HASH ermitteln - Python nach Delphi, aber wie ?

  Alt 12. Aug 2019, 21:10
Hallo,

channel scheint ein Dictionary zu sein.
Mit den keys video_id, access_token und client location.

''.join() werden die Parameter Strings zusammengefügt.
Separator ist ier '' - also kein Separator.

In Delphi würde das mit String1+String2.. funktionieren.

Grüße
Klaus
Klaus

Geändert von Klaus01 (12. Aug 2019 um 21:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: HASH ermitteln - Python nach Delphi, aber wie ?

  Alt 13. Aug 2019, 09:49
So weit dann klar: Es wird ein HASH aus den einzelnen Strings gebastelt. Ohne Trenner.
Was aber ist dann der Ausdruck "salt[:2]" und was kommt da bei + HASH raus ? ?
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: HASH ermitteln - Python nach Delphi, aber wie ?

  Alt 13. Aug 2019, 10:04
salt[:2] liefert die ersten zwei Zeichen des Salt - hier also '01'
Diese Zeichenkette wird dem Hash vorangestellt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#5

AW: HASH ermitteln - Python nach Delphi, aber wie ?

  Alt 13. Aug 2019, 10:05
@TERWI: Siehe dazu https://docs.python.org/2/tutorial/introduction.html
Code:
>>> word[:2]  # character from the beginning to position 2 (excluded)
In deinem Fall also:
Code:
salt = '01!8d8F_)r9]4s[qeuXfP%'
    client_token = salt[:2] +  sha1(''.join([str(channel['video_id']),
                                 salt,
                                 channel['access_token'],
                                 server_token,
                                 channel['client_location'],
                                 'dash:widevine']
                       ).encode('utf-8')).hexdigest()
salt[:2] = 01
und daran wird mit dem '+' das Ergebnis aus dem SHA1() dran gehängt
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas (13. Aug 2019 um 10:12 Uhr)
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: HASH ermitteln - Python nach Delphi, aber wie ?

  Alt 13. Aug 2019, 10:09
>>> word[:2] # character from the beginning to position 2 (excluded)
dann sollte salt[:2] = 01 sein und nicht 01!

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#7

AW: HASH ermitteln - Python nach Delphi, aber wie ?

  Alt 13. Aug 2019, 10:11
Hast recht bin bei den Beispielen durcheinander gekommen.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz