AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows Passwort überprüfen

Ein Thema von 1234567890987654321 · begonnen am 19. Mär 2011 · letzter Beitrag vom 21. Mär 2011
Antwort Antwort
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#1

Windows Passwort überprüfen

  Alt 19. Mär 2011, 18:56
Hallo,
ich verwende diesen Code, um zu überprüfen ob Password=Windows Passwort:
Code:
function NetUserChangePassword(
domainname : Pwidechar; { IN OPTIONAL }
username : Pwidechar; { IN OPTIONAL }
oldpassword: Pwidechar; { IN }
newpassword: Pwidechar { IN }
): DWORD; stdcall;
external netapi32 name 'NetUserChangePassword';

implementation

function isPw(User, Password: String):boolean;
var
NewPassword: array [0..1023] of WideChar;
OldPassword: array [0..1023] of WideChar;
UserBuff  : array [0..1023] of WideChar;
UserName: PWideChar;
begin
StringToWideChar(Password, PWideChar(@NewPassword[0]), SizeOf(NewPassword));
StringToWideChar(Password, PWideChar(@OldPassword[0]), SizeOf(OldPassword));

StringToWideChar(User, PWideChar(@UserBuff[0]), SizeOf(UserBuff));
UserName := PWideChar(@UserBuff[0]);

if NetUserChangePassword(nil, UserName,
PWideChar(@OldPassword[0]), PWideChar(@NewPassword[0]))=0 then
result:=True
else
result:=False;
end;
Diesen Code habe ich von http://entwickler-forum.de/showthread.php?t=36129
Es kommt aber immer dasselbe: Result:=False;
Auch wenn das Pw und Username richig sind.

Was ist an diesem Code falsch?
ACHTUNG: ICH VERWENDE LAZARUS
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Windows Passwort überprüfen

  Alt 19. Mär 2011, 18:59
Versuch mal die Strings vorher zu trimmen.
Ungenügend Rechte?
Markus Kinzler
  Mit Zitat antworten Zitat
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#3

AW: Windows Passwort überprüfen

  Alt 19. Mär 2011, 19:00
Ich bin Admin,
und was meinst du mit Strings Trimmen?
ACHTUNG: ICH VERWENDE LAZARUS
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Windows Passwort überprüfen

  Alt 19. Mär 2011, 19:01
Nutz dazu die Unit SSPIValidatePassword.pas: http://www.michael-puff.de/Programmierung/Delphi/Units/

Null heißt, dass das Passwort erfolgreich geändert wurde. Und ich bin mir nicht sicher, ob das auch funktioniert, wenn es gar nicht geändert wurde. Wesentlich informativer wäre der tatsächliche Rückgabewert der Funktion.
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (19. Mär 2011 um 19:05 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Windows Passwort überprüfen

  Alt 19. Mär 2011, 19:03
Zitat:
und was meinst du mit Strings Trimmen?
Eventuelle Leerzeichen entfernen -> Trim()
Markus Kinzler
  Mit Zitat antworten Zitat
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#6

AW: Windows Passwort überprüfen

  Alt 19. Mär 2011, 19:06
Sind keine drin, der Aufruf ist:
Code:
showmessage(booltostr(isPW('Tim', '123')));
ACHTUNG: ICH VERWENDE LAZARUS
  Mit Zitat antworten Zitat
1234567890987654321

Registriert seit: 8. Jun 2010
73 Beiträge
 
#7

AW: Windows Passwort überprüfen

  Alt 21. Mär 2011, 08:20
Push
ACHTUNG: ICH VERWENDE LAZARUS
  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 04:03 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