20 #ifndef INCLUDED_COMPHELPER_DOCPASSWORDHELPER_HXX
21 #define INCLUDED_COMPHELPER_DOCPASSWORDHELPER_HXX
24 #include <string_view>
73 virtual DocPasswordVerifierResult verifyPassword(
const OUString& rPassword, css::uno::Sequence< css::beans::NamedValue >& o_rEncryptionData ) = 0;
89 virtual DocPasswordVerifierResult verifyEncryptionData(
const css::uno::Sequence< css::beans::NamedValue >& o_rEncryptionData ) = 0;
113 static css::uno::Sequence< css::beans::PropertyValue >
114 GenerateNewModifyPasswordInfo( std::u16string_view aPassword );
131 static bool IsModifyPasswordCorrect(
132 std::u16string_view aPassword,
133 const css::uno::Sequence< css::beans::PropertyValue >& aInfo );
146 static sal_uInt32 GetWordHashAsUINT32(
147 const OUString& aString );
165 static sal_uInt16 GetXLHashAsUINT16(
166 std::u16string_view aString,
167 rtl_TextEncoding nEnc = RTL_TEXTENCODING_UTF8 );
181 static css::uno::Sequence< sal_Int8 > GetXLHashAsSequence(
182 std::u16string_view aString );
222 static css::uno::Sequence<sal_Int8> GetOoxHashAsSequence(
223 const OUString& rPassword,
224 const OUString& rSaltValue,
225 sal_uInt32 nSpinCount,
227 std::u16string_view rAlgorithmName);
268 static OUString GetOoxHashAsBase64(
269 const OUString& rPassword,
270 const OUString& rSaltValue,
271 sal_uInt32 nSpinCount,
273 std::u16string_view rAlgorithmName);
312 static std::vector<unsigned char> GetOoxHashAsVector(
313 const OUString& rPassword,
314 const std::vector<unsigned char>& rSaltValue,
315 sal_uInt32 nSpinCount,
317 std::u16string_view rAlgorithmName);
324 static css::uno::Sequence< sal_Int8 > GenerateRandomByteSequence(
332 static css::uno::Sequence< sal_Int8 > GenerateStd97Key(
333 const OUString& aPassword,
334 const css::uno::Sequence< sal_Int8 >& aDocId );
341 static css::uno::Sequence< sal_Int8 > GenerateStd97Key(
342 const sal_uInt16 pPassData[16],
343 const css::uno::Sequence< sal_Int8 >& aDocId );
349 static css::uno::Sequence< sal_Int8 > GenerateStd97Key(
350 const sal_uInt16 pPassData[16],
407 static css::uno::Sequence< css::beans::NamedValue > requestAndVerifyDocPassword(
409 const css::uno::Sequence< css::beans::NamedValue >& rMediaEncData,
410 const OUString& rMediaPassword,
411 const css::uno::Reference< css::task::XInteractionHandler >& rxInteractHandler,
412 const OUString& rDocumentUrl,
414 const ::std::vector< OUString >* pDefaultPasswords =
nullptr,
415 bool* pbIsDefaultPassword =
nullptr );
417 static css::uno::Sequence< css::beans::NamedValue > decryptGpgSession(
418 const css::uno::Sequence< css::uno::Sequence< css::beans::NamedValue > >& rGpgProperties);
Helper that asks for a document password and checks its validity.
DocPasswordVerifierResult
DocPasswordRequestType
Selects which UNO document password request type to use.
Base class for a password verifier used by the DocPasswordHelper class below.
#define COMPHELPER_DLLPUBLIC