Skip to content

Commit f75992b

Browse files
committed
Use range indexer
1 parent 28d4094 commit f75992b

File tree

35 files changed

+227
-227
lines changed

35 files changed

+227
-227
lines changed

CryptoBase.Abstractions/SymmetricCryptos/BlockCryptoBase.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,16 @@ public virtual void Encrypt4(ReadOnlySpan<byte> source, Span<byte> destination)
4747
}
4848

4949
Encrypt(source, destination);
50-
source = source.Slice(BlockSize);
51-
destination = destination.Slice(BlockSize);
50+
source = source[BlockSize..];
51+
destination = destination[BlockSize..];
5252

5353
Encrypt(source, destination);
54-
source = source.Slice(BlockSize);
55-
destination = destination.Slice(BlockSize);
54+
source = source[BlockSize..];
55+
destination = destination[BlockSize..];
5656

5757
Encrypt(source, destination);
58-
source = source.Slice(BlockSize);
59-
destination = destination.Slice(BlockSize);
58+
source = source[BlockSize..];
59+
destination = destination[BlockSize..];
6060

6161
Encrypt(source, destination);
6262
}

CryptoBase.BouncyCastle/SymmetricCryptos/BlockCryptos/BcAESCrypto.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public override void Decrypt(ReadOnlySpan<byte> source, Span<byte> destination)
6060

6161
private void Update(ReadOnlySpan<byte> source, Span<byte> destination)
6262
{
63-
source.Slice(0, BlockSize).CopyTo(_buffer);
63+
source[..BlockSize].CopyTo(_buffer);
6464
_engine.ProcessBlock(_buffer, 0, _outBuffer, 0);
6565
_outBuffer.CopyTo(destination);
6666
}

CryptoBase.BouncyCastle/SymmetricCryptos/BlockCryptos/BcSM4Crypto.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public override void Decrypt(ReadOnlySpan<byte> source, Span<byte> destination)
5858

5959
private void Update(ReadOnlySpan<byte> source, Span<byte> destination)
6060
{
61-
source.Slice(0, BlockSize).CopyTo(_buffer);
61+
source[..BlockSize].CopyTo(_buffer);
6262
_engine.ProcessBlock(_buffer, 0, _outBuffer, 0);
6363
_outBuffer.CopyTo(destination);
6464
}

CryptoBase.SpeedTest/CryptoTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public static void Test(IAEADCrypto crypto, int nonceLength = 12)
5050
{
5151
ReadOnlySpan<byte> i = new byte[Step];
5252
Span<byte> o = new byte[Step];
53-
ReadOnlySpan<byte> nonce = IV.Slice(0, nonceLength);
53+
ReadOnlySpan<byte> nonce = IV[..nonceLength];
5454
Span<byte> tag = stackalloc byte[16];
5555

5656
var sw = Stopwatch.StartNew();

CryptoBase.SpeedTest/Program.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
Console.WriteLine($@"CPU Brand: {CpuIdUtils.GetBrand()}");
2121
Console.WriteLine($@"Intel SHA extensions: {CpuIdUtils.IsSupportX86ShaEx()}");
2222

23-
var key32 = CryptoTest.Key.Slice(0, 32).ToArray();
24-
var key16 = CryptoTest.Key.Slice(0, 16).ToArray();
25-
var iv16 = CryptoTest.IV.Slice(0, 16).ToArray();
26-
var iv24 = CryptoTest.IV.Slice(0, 24).ToArray();
23+
var key32 = CryptoTest.Key[..32].ToArray();
24+
var key16 = CryptoTest.Key[..16].ToArray();
25+
var iv16 = CryptoTest.IV[..16].ToArray();
26+
var iv24 = CryptoTest.IV[..24].ToArray();
2727

2828
Console.Write(@"Testing Aes-128-Ctr: ");
2929
CryptoTest.Test(StreamCryptoCreate.AesCtr(key16, iv16));

CryptoBase/CpuIdUtils.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ public static string GetVendor()
2222

2323
Debug.WriteLine(id);
2424
BinaryPrimitives.WriteInt32LittleEndian(buffer, id.Ebx);
25-
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(4), id.Edx);
26-
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(8), id.Ecx);
25+
BinaryPrimitives.WriteInt32LittleEndian(buffer[4..], id.Edx);
26+
BinaryPrimitives.WriteInt32LittleEndian(buffer[8..], id.Ecx);
2727

2828
return Encoding.ASCII.GetString(buffer);
2929
}
@@ -47,10 +47,10 @@ public static string GetBrand()
4747
{
4848
var id2 = X86Base.CpuId(unchecked((int)i), 0);
4949
BinaryPrimitives.WriteInt32LittleEndian(t, id2.Eax);
50-
BinaryPrimitives.WriteInt32LittleEndian(t.Slice(4), id2.Ebx);
51-
BinaryPrimitives.WriteInt32LittleEndian(t.Slice(8), id2.Ecx);
52-
BinaryPrimitives.WriteInt32LittleEndian(t.Slice(12), id2.Edx);
53-
t = t.Slice(16);
50+
BinaryPrimitives.WriteInt32LittleEndian(t[4..], id2.Ebx);
51+
BinaryPrimitives.WriteInt32LittleEndian(t[8..], id2.Ecx);
52+
BinaryPrimitives.WriteInt32LittleEndian(t[12..], id2.Edx);
53+
t = t[16..];
5454
}
5555

5656
return Encoding.ASCII.GetString(buffer);

CryptoBase/Digests/MD5/Fast440MD5Digest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public override void UpdateFinal(ReadOnlySpan<byte> origin, Span<byte> destinati
2323
while (origin.Length >= SizeOfInt)
2424
{
2525
X[index++] = BinaryPrimitives.ReadUInt32LittleEndian(origin);
26-
origin = origin.Slice(SizeOfInt);
26+
origin = origin[SizeOfInt..];
2727
}
2828

2929
const uint padding = 0b10000000;
@@ -39,9 +39,9 @@ public override void UpdateFinal(ReadOnlySpan<byte> origin, Span<byte> destinati
3939
Process();
4040

4141
BinaryPrimitives.WriteUInt32LittleEndian(destination, A);
42-
BinaryPrimitives.WriteUInt32LittleEndian(destination.Slice(4), B);
43-
BinaryPrimitives.WriteUInt32LittleEndian(destination.Slice(8), C);
44-
BinaryPrimitives.WriteUInt32LittleEndian(destination.Slice(12), D);
42+
BinaryPrimitives.WriteUInt32LittleEndian(destination[4..], B);
43+
BinaryPrimitives.WriteUInt32LittleEndian(destination[8..], C);
44+
BinaryPrimitives.WriteUInt32LittleEndian(destination[12..], D);
4545
}
4646
finally
4747
{

CryptoBase/Digests/MD5/MD5Digest.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ public virtual void Update(ReadOnlySpan<byte> source)
142142
return;
143143
}
144144

145-
source.Slice(0, remain).CopyTo(_buffer.AsSpan(_bufferIndex));
146-
source = source.Slice(remain);
145+
source[..remain].CopyTo(_buffer.AsSpan(_bufferIndex));
146+
source = source[remain..];
147147
X[_index++] = BinaryPrimitives.ReadUInt32LittleEndian(_buffer);
148148
_bufferIndex = 0;
149149
}
@@ -157,7 +157,7 @@ public virtual void Update(ReadOnlySpan<byte> source)
157157
}
158158

159159
X[_index++] = BinaryPrimitives.ReadUInt32LittleEndian(source);
160-
source = source.Slice(SizeOfInt);
160+
source = source[SizeOfInt..];
161161
}
162162

163163
if (_index == BlockSizeOfInt)
@@ -211,9 +211,9 @@ public virtual void GetHash(Span<byte> destination)
211211
Process();
212212

213213
BinaryPrimitives.WriteUInt32LittleEndian(destination, A);
214-
BinaryPrimitives.WriteUInt32LittleEndian(destination.Slice(4), B);
215-
BinaryPrimitives.WriteUInt32LittleEndian(destination.Slice(8), C);
216-
BinaryPrimitives.WriteUInt32LittleEndian(destination.Slice(12), D);
214+
BinaryPrimitives.WriteUInt32LittleEndian(destination[4..], B);
215+
BinaryPrimitives.WriteUInt32LittleEndian(destination[8..], C);
216+
BinaryPrimitives.WriteUInt32LittleEndian(destination[12..], D);
217217
}
218218
finally
219219
{

CryptoBase/Digests/SM3/SM3Digest.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ public void Update(ReadOnlySpan<byte> source)
119119
return;
120120
}
121121

122-
source.Slice(0, remain).CopyTo(_buffer.AsSpan(_bufferIndex));
123-
source = source.Slice(remain);
122+
source[..remain].CopyTo(_buffer.AsSpan(_bufferIndex));
123+
source = source[remain..];
124124
_w[_index++] = BinaryPrimitives.ReadUInt32BigEndian(_buffer);
125125
_bufferIndex = 0;
126126
}
@@ -134,7 +134,7 @@ public void Update(ReadOnlySpan<byte> source)
134134
}
135135

136136
_w[_index++] = BinaryPrimitives.ReadUInt32BigEndian(source);
137-
source = source.Slice(SizeOfInt);
137+
source = source[SizeOfInt..];
138138
}
139139
if (_index == BlockSizeOfInt)
140140
{
@@ -195,13 +195,13 @@ public unsafe void GetHash(Span<byte> destination)
195195
else
196196
{
197197
BinaryPrimitives.WriteUInt32BigEndian(destination, V.GetElement(0));
198-
BinaryPrimitives.WriteUInt32BigEndian(destination.Slice(4), V.GetElement(1));
199-
BinaryPrimitives.WriteUInt32BigEndian(destination.Slice(8), V.GetElement(2));
200-
BinaryPrimitives.WriteUInt32BigEndian(destination.Slice(12), V.GetElement(3));
201-
BinaryPrimitives.WriteUInt32BigEndian(destination.Slice(16), V.GetElement(4));
202-
BinaryPrimitives.WriteUInt32BigEndian(destination.Slice(20), V.GetElement(5));
203-
BinaryPrimitives.WriteUInt32BigEndian(destination.Slice(24), V.GetElement(6));
204-
BinaryPrimitives.WriteUInt32BigEndian(destination.Slice(28), V.GetElement(7));
198+
BinaryPrimitives.WriteUInt32BigEndian(destination[4..], V.GetElement(1));
199+
BinaryPrimitives.WriteUInt32BigEndian(destination[8..], V.GetElement(2));
200+
BinaryPrimitives.WriteUInt32BigEndian(destination[12..], V.GetElement(3));
201+
BinaryPrimitives.WriteUInt32BigEndian(destination[16..], V.GetElement(4));
202+
BinaryPrimitives.WriteUInt32BigEndian(destination[20..], V.GetElement(5));
203+
BinaryPrimitives.WriteUInt32BigEndian(destination[24..], V.GetElement(6));
204+
BinaryPrimitives.WriteUInt32BigEndian(destination[28..], V.GetElement(7));
205205
}
206206
}
207207
finally

CryptoBase/Macs/GHash/GHashSF.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public GHashSF(ReadOnlySpan<byte> key)
3939
}
4040

4141
Initvh = BinaryPrimitives.ReadUInt64BigEndian(key);
42-
Initvl = BinaryPrimitives.ReadUInt64BigEndian(key.Slice(8));
42+
Initvl = BinaryPrimitives.ReadUInt64BigEndian(key[8..]);
4343

4444
_hl = ArrayPool<ulong>.Shared.Rent(BlockSize);
4545
_hh = ArrayPool<ulong>.Shared.Rent(BlockSize);
@@ -94,7 +94,7 @@ public void Update(ReadOnlySpan<byte> source)
9494
while (source.Length >= BlockSize)
9595
{
9696
GFMul(source);
97-
source = source.Slice(BlockSize);
97+
source = source[BlockSize..];
9898
}
9999

100100
if (source.IsEmpty)

0 commit comments

Comments
 (0)