49{
50 if (_shared_encryptor)
51 return _shared_encryptor;
52
53 NSString *saved_password = [self keychainPassword];
54 if (saved_password == nil)
55 {
56 saved_password = [self keychainDefaultPassword];
57 Encryptor *encryptor = [[[
Encryptor alloc] initWithPassword:saved_password] autorelease];
58 [self setEncryptedVerificationData:encryptor];
59 _shared_encryptor = [encryptor retain];
60 }
61 else
62 {
63 Encryptor *encryptor = [[[
Encryptor alloc] initWithPassword:saved_password] autorelease];
64 if ([self verifyPassword:encryptor])
65 _shared_encryptor = [encryptor retain];
66 }
67
68 return _shared_encryptor;
69}