FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
bc-java/jce/src/main/java/javax/crypto/MacSpi.java at 1.81.X · bcgit/bc-java · GitHub
bcgit
bc-java
Repository navigation
Code
Issues
59
(59)
Pull requests
39
(39)
Discussions
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
bc-java
/
jce
/
src
/
main
/
java
/
javax
/
crypto
/
MacSpi.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
92 lines (83 loc) · 2.8 KB
Breadcrumbs
bc-java
/
jce
/
src
/
main
/
java
/
javax
/
crypto
/
MacSpi.java
Copy path
File metadata and controls
92 lines (83 loc) · 2.8 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package
javax
.
crypto
;
import
java
.
security
.
Key
;
import
java
.
security
.
InvalidKeyException
;
import
java
.
security
.
InvalidAlgorithmParameterException
;
import
java
.
security
.
spec
.
AlgorithmParameterSpec
;
/**
* This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
* for the <code>Mac</code> class.
* All the abstract methods in this class must be implemented by each
* cryptographic service provider who wishes to supply the implementation
* of a particular MAC algorithm.
* <p>
* Implementations are free to implement the Cloneable interface.
*/
public
abstract
class
MacSpi
{
public
MacSpi
()
{
}
/**
* Returns the length of the MAC in bytes.
*
* @return the MAC length in bytes.
*/
protected
abstract
int
engineGetMacLength
();
/**
* Initializes the MAC with the given (secret) key and algorithm
* parameters.
*
* @param key - the (secret) key.
* @param params - the algorithm parameters.
* @exception InvalidKeyException if the given key is inappropriate for initializing this MAC.
* @exception InvalidAlgorithmParameterException - if the given algorithm parameters are inappropriate
* for this MAC.
*/
protected
abstract
void
engineInit
(
Key
key
,
AlgorithmParameterSpec
params
)
throws
InvalidKeyException
,
InvalidAlgorithmParameterException
;
/**
* Processes the given byte.
*
* @param input - the input byte to be processed.
*/
protected
abstract
void
engineUpdate
(
byte
input
);
/**
* Processes the first <code>len</code> bytes in <code>input</code>,
* starting at <code>offset</code> inclusive.
*
* @param input the input buffer.
* @param offset the offset in <code>input</code> where the input starts.
* @param len the number of bytes to process.
*/
protected
abstract
void
engineUpdate
(
byte
[]
input
,
int
offset
,
int
len
);
/**
* Completes the MAC computation and resets the MAC for further use,
* maintaining the secret key that the MAC was initialized with.
*
* @return the MAC result.
*/
protected
abstract
byte
[]
engineDoFinal
();
/**
* Resets the MAC for further use, maintaining the secret key that the
* MAC was initialized with.
*/
protected
abstract
void
engineReset
();
/**
* Returns a clone if the implementation is cloneable.
*
* @return a clone if the implementation is cloneable.
* @exception CloneNotSupportedException if this is called on an implementation that does not support
* <code>Cloneable</code>.
*/
public
Object
clone
()
throws
CloneNotSupportedException
{
throw
new
CloneNotSupportedException
(
"Underlying MAC does not support cloning"
);
}
}
Back
|
FazBrowse Home
|
New Git URL