88 const css::uno::Sequence<sal_Int8>& aPassword,
90 virtual void setPasswordHash(
const OUString& rAlgorithmName,
const OUString& rHashValue,
91 const OUString& rSaltValue, sal_uInt32 nSpinCount ) = 0;
115 virtual void setPassword(
const OUString& aPassText)
override;
120 const css::uno::Sequence<sal_Int8>& aPassword,
122 virtual void setPasswordHash(
const OUString& rAlgorithmName,
const OUString& rHashValue,
123 const OUString& rSaltValue, sal_uInt32 nSpinCount )
override;
124 virtual bool verifyPassword(
const OUString& aPassText)
const override;
126 bool isOptionEnabled(
Option eOption)
const;
127 void setOption(
Option eOption,
bool bEnabled);
130 std::unique_ptr<ScTableProtectionImpl>
mpImpl;
199 virtual void setPassword(
const OUString& aPassText)
override;
204 const css::uno::Sequence<sal_Int8>& aPassword,
206 virtual void setPasswordHash(
const OUString& rAlgorithmName,
const OUString& rHashValue,
207 const OUString& rSaltValue, sal_uInt32 nSpinCount )
override;
208 virtual bool verifyPassword(
const OUString& aPassText)
const override;
210 bool isOptionEnabled(
Option eOption)
const;
211 void setOption(
Option eOption,
bool bEnabled);
213 void setEnhancedProtection( ::std::vector< ScEnhancedProtection > && rProt );
214 const ::std::vector< ScEnhancedProtection > & getEnhancedProtection()
const;
216 bool isBlockEditable(
const ScRange& rRange )
const;
217 bool isSelectionEditable(
const ScRangeList& rRangeList )
const;
220 std::unique_ptr<ScTableProtectionImpl>
mpImpl;
virtual void setPasswordHash(const css::uno::Sequence< sal_Int8 > &aPassword, ScPasswordHash eHash, ScPasswordHash eHash2=PASSHASH_UNSPECIFIED) override
std::unique_ptr< ScTableProtectionImpl > mpImpl
virtual bool verifyPassword(const OUString &aPassText) const =0
virtual void setProtected(bool bProtected)=0
virtual bool isProtected() const =0
virtual css::uno::Sequence< sal_Int8 > getPasswordHash(ScPasswordHash eHash, ScPasswordHash eHas2=PASSHASH_UNSPECIFIED) const =0
virtual void setPassword(const OUString &aPassText)=0
virtual bool isProtectedWithPass() const =0
virtual void setPasswordHash(const OUString &rAlgorithmName, const OUString &rHashValue, const OUString &rSaltValue, sal_uInt32 nSpinCount)=0
virtual const ScOoxPasswordHash & getPasswordHash() const =0
virtual void setPasswordHash(const css::uno::Sequence< sal_Int8 > &aPassword, ScPasswordHash eHash, ScPasswordHash eHash2=PASSHASH_UNSPECIFIED)=0
virtual bool isPasswordEmpty() const =0
virtual bool hasPasswordHash(ScPasswordHash eHash, ScPasswordHash eHash2=PASSHASH_UNSPECIFIED) const =0
sheet protection state container
std::unique_ptr< ScTableProtectionImpl > mpImpl
virtual void setPasswordHash(const css::uno::Sequence< sal_Int8 > &aPassword, ScPasswordHash eHash, ScPasswordHash eHash2=PASSHASH_UNSPECIFIED) override
ScPasswordHash getHashTypeFromURI(std::u16string_view rURI)
bool needsPassHashRegen(const ScDocument &rDoc, ScPasswordHash eHash1, ScPasswordHash eHash2=PASSHASH_UNSPECIFIED)
Check for the compatibility of all password hashes.
OUString getHashURI(ScPasswordHash eHash)
Container for the Excel EnhancedProtection feature.
ScOoxPasswordHash maPasswordHash
bool hasSecurityDescriptor() const
OUString maSecurityDescriptorXML
sal_uInt32 mnPasswordVerifier
::std::vector< sal_uInt8 > maSecurityDescriptor
ScRangeListRef maRangeList
OOXML password definitions: algorithmName, hashValue, saltValue, spinCount.
OUString maSaltValue
base64 encoded hash value
bool verifyPassword(const OUString &aPassText) const
OUString maHashValue
"SHA-512", ...
ScOoxPasswordHash()
spin count, iteration runs
sal_uInt32 mnSpinCount
base64 encoded salt value