Freigeben über


ChartSheetProtection.Password Eigenschaft

Definition

Kennwort

Stellt das folgende Attribut im Schema dar: password

[DocumentFormat.OpenXml.SchemaAttr(0, "password")]
public DocumentFormat.OpenXml.HexBinaryValue Password { get; set; }
public DocumentFormat.OpenXml.HexBinaryValue Password { get; set; }
[DocumentFormat.OpenXml.SchemaAttr(0, "password")]
public DocumentFormat.OpenXml.HexBinaryValue? Password { get; set; }
[DocumentFormat.OpenXml.SchemaAttr("password")]
public DocumentFormat.OpenXml.HexBinaryValue? Password { get; set; }
public DocumentFormat.OpenXml.HexBinaryValue? Password { get; set; }
member this.Password : DocumentFormat.OpenXml.HexBinaryValue with get, set
[<DocumentFormat.OpenXml.SchemaAttr(0, "password")>]
member this.Password : DocumentFormat.OpenXml.HexBinaryValue with get, set
[<DocumentFormat.OpenXml.SchemaAttr("password")>]
member this.Password : DocumentFormat.OpenXml.HexBinaryValue with get, set
Public Property Password As HexBinaryValue

Eigenschaftswert

Gibt zurück StringValue.

Attribute

Hinweise

Die folgenden Informationen aus dem INTERNATIONALEN ECMA-Standard ECMA-376 können bei der Arbeit mit dieser Klasse nützlich sein.

Gibt den Hash des Kennworts an, der zum Bearbeiten dieses Diagrammblatts erforderlich ist. Dieser Schutz ist optional und kann von Anwendungen ignoriert werden, die diese Funktionalität nicht unterstützen. Der Hash wird aus einem 8-Bit-Breitzeichen generiert. 16-Bit-Unicode-Zeichen müssen in 8 Bits konvertiert werden, bevor der Hash berechnet wird, wobei die im revisionsPassword -Attribut des workbookProtection -Elements definierte Logik verwendet wird.

Der resultierende Wert wird mithilfe des unten definierten Algorithmus gehasht.

Ein Beispielalgorithmus zum Hashen der Benutzereingabe in den gespeicherten Wert sieht wie folgt aus:

// Function Input:  
//    szPassword: NULL-terminated C-style string  
//    cchPassword: The number of characters in szPassword (not including the NULL terminator)  
WORD GetPasswordHash(const CHAR *szPassword, int cchPassword) {  
      WORD wPasswordHash;  
      const CHAR *pch;  

      wPasswordHash = 0;  

      if (cchPassword > 0)  
            {  
            pch = &szPassword[cchPassword];  
            while (pch-- != szPassword)  
                  {  
                  wPasswordHash = ((wPasswordHash >> 14) & 0x01) | ((wPasswordHash << 1) & 0x7fff);  
                  wPasswordHash ^= *pch;  
                  }  
            wPasswordHash ^= (0x8000 | ('N' << 8) | 'K');  
            }  

      return(wPasswordHash);  
}  

Die möglichen Werte für dieses Attribut werden durch den ST_UnsignedShortHex einfachen Typ definiert.

Gilt für: