Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetPaddingLength() [3/3]

int Internal.Cryptography.UniversalCryptoDecryptor.GetPaddingLength ( ReadOnlySpan< byte > block)
inlineprivate

Definition at line 156 of file UniversalCryptoDecryptor.cs.

157 {
158 int num = 0;
159 switch (base.PaddingMode)
160 {
161 case PaddingMode.ANSIX923:
162 {
163 num = block[^1];
164 if (num <= 0 || num > base.InputBlockSize)
165 {
167 }
168 for (int j = block.Length - num; j < block.Length - 1; j++)
169 {
170 if (block[j] != 0)
171 {
173 }
174 }
175 break;
176 }
177 case PaddingMode.ISO10126:
178 num = block[^1];
179 if (num <= 0 || num > base.InputBlockSize)
180 {
182 }
183 break;
184 case PaddingMode.PKCS7:
185 {
186 num = block[^1];
187 if (num <= 0 || num > base.InputBlockSize)
188 {
190 }
191 for (int i = block.Length - num; i < block.Length - 1; i++)
192 {
193 if (block[i] != num)
194 {
196 }
197 }
198 break;
199 }
200 case PaddingMode.None:
201 case PaddingMode.Zeros:
202 num = 0;
203 break;
204 default:
206 }
207 return block.Length - num;
208 }
static string Cryptography_UnknownPaddingMode
Definition SR.cs:154
static string Cryptography_InvalidPadding
Definition SR.cs:106
Definition SR.cs:7

References System.SR.Cryptography_InvalidPadding, System.SR.Cryptography_UnknownPaddingMode, and System.ReadOnlySpan< T >.Length.