Skip to content

Commit f82e4f6

Browse files
committed
Built v0.1.0.4
1 parent e7e537d commit f82e4f6

12 files changed

+143
-79
lines changed

README.md

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,51 @@ Secure hash and message digest algorithms writen in plain LabVIEW designed prima
44
LabVIEW library includes: SHA-256, SCRAM-SHA-256, PBKDF2-SHA-256, HMAC-SHA-256 and Base64 encoding/decoding.
55

66
## Releases
7-
To install, download and run the VI Package (*.vip) using the VI Package Manager which is installed with LabVIEW.
7+
To install, download and run the VI Package (\*.vip) using the VI Package Manager which is installed with LabVIEW.
88

9-
| VI Package | Version | LabVIEW |
10-
| --- | --- | --- |
11-
| [rpacini_hashlib-17.0.0.2.vip](https://github.com/rcpacini/labview_hashlib/raw/master/releases/rpacini_hashlib-17.0.0.2.vip) | 17.0.0.2 | LV2017 |
9+
| VI Package | Version | LabVIEW | Source Zip |
10+
| --- | --- | --- | --- |
11+
| [rcpacini_hashlib-0.1.0.4.vip](https://github.com/rcpacini/labview_hashlib/raw/master/releases/rcpacini_hashlib-0.1.0.4.vip) | 0.1.0.4 | LV2019 | [rcpacini_hashlib-0.1.0.4.zip](https://github.com/rcpacini/labview_hashlib/raw/master/releases/rcpacini_hashlib-0.1.0.4.zip) |
1212

13-
This VI Package installs to the `<LABVIEW>\user.lib\rcpacini\hashlib` directory and is available on the diagram palette `User.lib > rcpacini > hashlib`.
13+
This VI Package installs to the `<LABVIEW>\user.lib\_rcpacini\hashlib` directory and is available on the diagram palette `Functions > User Libraries > rcpacini > Hashlib`.
14+
15+
## Example
16+
Once the VI Package is installed, open the example VI located at `<LABVIEW>\examples\rcpacini\hashlib\hashlib_example.vit`.
17+
18+
![Hashlib gif](docs/hashlib.gif)
1419

1520
## Algorithms
16-
- **SCRAM-SHA-256** - [RFC 5802] Secure authentication mechanism (client first and final messages)
17-
- **PBKDF2-SHA-256** - [RFC 2898C] Salted password-based cryptography
18-
- **HMAC-SHA-256** - [RFC 2104] Keyed hashing
19-
- **SHA-256** - [RFC 4634] 256 bit hash
20-
- **Base64** - [RFC 4648] Encode/decode
21+
- **SCRAM-SHA-256** - [RFC 5802](https://tools.ietf.org/html/rfc5802) Secure authentication mechanism (client first and final messages)
22+
- **PBKDF2-SHA-256** - [RFC 2898C](https://tools.ietf.org/html/rfc2898) Salted password-based cryptography
23+
- **HMAC-SHA-256** - [RFC 2104](https://tools.ietf.org/html/rfc2104) Keyed hashing
24+
- **SHA-256** - [RFC 4634](https://tools.ietf.org/html/rfc4634) 256 bit hash
25+
- **Base64** - [RFC 4648](https://tools.ietf.org/html/rfc4648) Encode/decode
2126

22-
Refer to the specifications at https://tools.ietf.org/html/rfcXXXX.
27+
Refer to the specifications at `https://tools.ietf.org/html/rfcXXXX` .
2328

2429
## Acronyms & Abbreviations
2530
| Key | Name |
2631
| --- | --- |
27-
| SCRAM | Salted Challenge Response Authentication Mechanism |
28-
| HMAC | Keyed-Hashing for Message Authentication |
29-
| PBKDF2 | Password-Based Cryptography Specification Version 2.0 |
30-
| SHA | Secure Hash Algorithm |
32+
| **SCRAM** | Salted Challenge Response Authentication Mechanism |
33+
| **HMAC** | Keyed-Hashing for Message Authentication |
34+
| **PBKDF2** | Password-Based Cryptography Specification Version 2.0 |
35+
| **SHA** | Secure Hash Algorithm |
36+
37+
## Development
38+
The following sections are instructions on how to rebuild and test this package.
39+
40+
### Build Specs
41+
To rebuild the Source Zip, open the `hashlib\hashlib.lvproj` (LabVIEW Project), navigate to the `Build Specifications > Hashlib Source` properties, under `Zip Information` update the **Destination** filename version and press **Build**.
42+
43+
The Source Zip is output to `releases/rcpacini_hashlib-X.X.X.X.zip`
44+
45+
To rebuild the VI Package, open the `hashlib\hashlib.vipb` (VI Package Build) in VI Package Manager, update the version information and press Build.
46+
47+
The VI Package is output to `releases/rcpacini_hashlib-X.X.X.X.vip`
48+
49+
### Tests
50+
Once the VI Package is installed to `Functions > User Libraries > rcpacini > Hashlib`, open the `tests\test_hashlib.lvproj` and run the `test_all.vi`.
51+
If successful, the **all_passed** boolean should return True.
3152

3253
## Support
3354
Submit a ticket for bug fixes or feature requests.

hashlib/hashlib.lvproj

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,22 @@
1717
<Item Name="hashlib" Type="Folder" URL="../hashlib">
1818
<Property Name="NI.DISK" Type="Bool">true</Property>
1919
</Item>
20-
<Item Name="tests" Type="Folder">
21-
<Item Name="test_hashlib_sha256_hmac.vi" Type="VI" URL="../../tests/test_hashlib_sha256_hmac.vi"/>
22-
<Item Name="test_hashlib_sha256_pbkdf2.vi" Type="VI" URL="../../tests/test_hashlib_sha256_pbkdf2.vi"/>
23-
</Item>
2420
<Item Name="hashlib_vi_tree.vi" Type="VI" URL="../hashlib_vi_tree.vi"/>
2521
<Item Name="Dependencies" Type="Dependencies"/>
26-
<Item Name="Build Specifications" Type="Build"/>
22+
<Item Name="Build Specifications" Type="Build">
23+
<Item Name="Hashlib Zip" Type="Zip File">
24+
<Property Name="Absolute[0]" Type="Bool">false</Property>
25+
<Property Name="BuildName" Type="Str">Hashlib Zip</Property>
26+
<Property Name="Comments" Type="Str"></Property>
27+
<Property Name="DestinationID[0]" Type="Str">{7BD36184-6851-4B6F-BABC-38107A817D5C}</Property>
28+
<Property Name="DestinationItemCount" Type="Int">1</Property>
29+
<Property Name="DestinationName[0]" Type="Str">Destination Directory</Property>
30+
<Property Name="IncludedItemCount" Type="Int">1</Property>
31+
<Property Name="IncludedItems[0]" Type="Ref">/My Computer</Property>
32+
<Property Name="IncludeProject" Type="Bool">true</Property>
33+
<Property Name="Path[0]" Type="Path">../../releases/rcpacini_hashlib-0.1.0.4.zip</Property>
34+
<Property Name="ZipBase" Type="Str">NI_zipbasedefault</Property>
35+
</Item>
36+
</Item>
2737
</Item>
2838
</Project>

hashlib/hashlib.vipb

Lines changed: 67 additions & 59 deletions
Large diffs are not rendered by default.
98.1 KB
Binary file not shown.
94.4 KB
Binary file not shown.
-84 KB
Binary file not shown.

tests/test_all.vi

9.48 KB
Binary file not shown.

tests/test_hashlib.lvproj

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<Project Type="Project" LVVersion="19008000">
3+
<Property Name="NI.LV.All.SourceOnly" Type="Bool">true</Property>
4+
<Item Name="My Computer" Type="My Computer">
5+
<Property Name="server.app.propertiesEnabled" Type="Bool">true</Property>
6+
<Property Name="server.control.propertiesEnabled" Type="Bool">true</Property>
7+
<Property Name="server.tcp.enabled" Type="Bool">false</Property>
8+
<Property Name="server.tcp.port" Type="Int">0</Property>
9+
<Property Name="server.tcp.serviceName" Type="Str">My Computer/VI Server</Property>
10+
<Property Name="server.tcp.serviceName.default" Type="Str">My Computer/VI Server</Property>
11+
<Property Name="server.vi.callsEnabled" Type="Bool">true</Property>
12+
<Property Name="server.vi.propertiesEnabled" Type="Bool">true</Property>
13+
<Property Name="specify.custom.address" Type="Bool">false</Property>
14+
<Item Name="tests" Type="Folder" URL="../tests">
15+
<Property Name="NI.DISK" Type="Bool">true</Property>
16+
</Item>
17+
<Item Name="test_all.vi" Type="VI" URL="../test_all.vi"/>
18+
<Item Name="Dependencies" Type="Dependencies">
19+
<Item Name="user.lib" Type="Folder">
20+
<Item Name="hashlib.lvlib" Type="Library" URL="/&lt;userlib&gt;/_rcpacini/hashlib/hashlib/hashlib.lvlib"/>
21+
</Item>
22+
</Item>
23+
<Item Name="Build Specifications" Type="Build"/>
24+
</Item>
25+
</Project>

tests/test_hashlib_sha256_hmac.vi

-9.04 KB
Binary file not shown.
-10.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)