|
1 | | -/// Unit that stores cryptographic functions used in PascalRAL |
| 1 | +/// Unit that stores cryptographic functions used in PascalRAL |
2 | 2 | unit RALCripto; |
3 | 3 |
|
4 | 4 | interface |
@@ -73,89 +73,70 @@ procedure TRALCripto.SetKey(const AValue: StringRAL); |
73 | 73 |
|
74 | 74 | function TRALCripto.Encrypt(const AValue: StringRAL; ABinary : boolean): StringRAL; |
75 | 75 | var |
76 | | - vInputStream: TStringStream; |
| 76 | + vStream: TStream; |
77 | 77 | begin |
78 | | -<<<<<<< HEAD |
79 | 78 | if ABinary then |
80 | 79 | vStream := StringToStream(AValue) |
81 | 80 | else |
82 | 81 | vStream := StringToStreamUTF8(AValue); |
83 | 82 |
|
84 | | -======= |
85 | | - { TODO -cCompatibilidade : Melhorar esse código pra compatibilizar com versões antigas do Delphi } |
86 | | - vInputStream := nil; |
87 | | ->>>>>>> 37ded8a62a3bb2216bf3ebab8873cede96fc7d8d |
88 | 83 | try |
89 | | - vInputStream := TStringStream.Create(AValue, TEncoding.UTF8); |
90 | | - vInputStream.Position := 0; |
91 | | - Result := Encrypt(vInputStream); |
| 84 | + vStream.Position := 0; |
| 85 | + Result := Encrypt(vStream); |
92 | 86 | finally |
93 | | - FreeAndNil(vInputStream); |
| 87 | + FreeAndNil(vStream); |
94 | 88 | end; |
95 | 89 | end; |
96 | 90 |
|
97 | 91 | function TRALCripto.Decrypt(const AValue: StringRAL; ABinary : boolean): StringRAL; |
98 | 92 | var |
99 | | - vInputStream: TStringStream; |
| 93 | + vStream: TStream; |
100 | 94 | begin |
101 | | -<<<<<<< HEAD |
| 95 | + if AValue = '' then |
| 96 | + raise Exception.Create(emHMACEmptyText); |
| 97 | + |
102 | 98 | if ABinary then |
103 | 99 | vStream := StringToStream(AValue) |
104 | 100 | else |
105 | 101 | vStream := StringToStreamUTF8(AValue); |
106 | 102 |
|
107 | | -======= |
108 | | - { TODO -cCompatibilidade : Melhorar esse código pra compatibilizar com versões antigas do Delphi } |
109 | | - if AValue = '' then |
110 | | - Raise Exception.Create(emHMACEmptyText); |
111 | | - |
112 | | - vInputStream := nil; |
113 | | ->>>>>>> 37ded8a62a3bb2216bf3ebab8873cede96fc7d8d |
114 | 103 | try |
115 | | - {$IFDEF FPC} |
116 | | - vInputStream := TStringStream.Create(TRALBase64.Decode(AValue), TEncoding.UTF8); |
117 | | - {$ELSE} |
118 | | - vInputStream := TStringStream.Create(TRALBase64.Decode(AValue), TEncoding.ANSI); |
119 | | - {$ENDIF} |
120 | | - vInputStream.Position := 0; |
121 | | - Result := Decrypt(vInputStream); |
| 104 | + vStream.Position := 0; |
| 105 | + Result := Decrypt(vStream); |
122 | 106 | finally |
123 | | - FreeAndNil(vInputStream); |
| 107 | + FreeAndNil(vStream); |
124 | 108 | end; |
125 | 109 | end; |
126 | 110 |
|
127 | 111 | function TRALCripto.Encrypt(AValue: TStream): StringRAL; |
128 | 112 | var |
129 | | - vEncryptedStream: TStream; |
| 113 | + vStream: TStream; |
130 | 114 | begin |
131 | 115 | { TODO -cCompatibilidade : Melhorar esse código pra compatibilizar com versões antigas do Delphi } |
132 | | - vEncryptedStream := nil; |
| 116 | + vStream := nil; |
133 | 117 | try |
134 | | - vEncryptedStream := EncryptAsStream(AValue); |
135 | | - vEncryptedStream.Position := 0; |
136 | | - Result := TRALBase64.Encode(vEncryptedStream); |
| 118 | + vStream := EncryptAsStream(AValue); |
| 119 | + vStream.Position := 0; |
| 120 | + |
| 121 | + Result := TRALBase64.Encode(vStream); |
137 | 122 | finally |
138 | | - FreeAndNil(vEncryptedStream); |
| 123 | + FreeAndNil(vStream); |
139 | 124 | end; |
140 | 125 | end; |
141 | 126 |
|
142 | 127 | function TRALCripto.Decrypt(AValue: TStream): StringRAL; |
143 | 128 | var |
144 | | - vDecryptedStream: TStream; |
145 | | - vStringStream: TStringStream; |
| 129 | + vStream: TStream; |
146 | 130 | begin |
147 | 131 | { TODO -cCompatibilidade : Melhorar esse código pra compatibilizar com versões antigas do Delphi } |
148 | | - vDecryptedStream := nil; |
149 | | - vStringStream := nil; |
| 132 | + vStream := nil; |
150 | 133 | try |
151 | | - vDecryptedStream := DecryptAsStream(AValue); |
152 | | - vStringStream := TStringStream.Create('', TEncoding.UTF8); |
153 | | - vDecryptedStream.Position := 0; |
154 | | - vStringStream.LoadFromStream(vDecryptedStream); |
155 | | - Result := vStringStream.DataString; |
| 134 | + vStream := DecryptAsStream(AValue); |
| 135 | + vStream.Position := 0; |
| 136 | + |
| 137 | + Result := StreamToString(vStream); |
156 | 138 | finally |
157 | | - FreeAndNil(vStringStream); |
158 | | - FreeAndNil(vDecryptedStream); |
| 139 | + FreeAndNil(vStream); |
159 | 140 | end; |
160 | 141 | end; |
161 | 142 |
|
|
0 commit comments