aboutsummaryrefslogtreecommitdiffstats
path: root/security/crypt-password
diff options
context:
space:
mode:
Diffstat (limited to 'security/crypt-password')
-rw-r--r--security/crypt-password/README.md10
-rw-r--r--security/crypt-password/pom.xml54
-rw-r--r--security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/CryptPassword.java35
-rw-r--r--security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/DecodePassword.java34
4 files changed, 133 insertions, 0 deletions
diff --git a/security/crypt-password/README.md b/security/crypt-password/README.md
new file mode 100644
index 00000000..1ce79273
--- /dev/null
+++ b/security/crypt-password/README.md
@@ -0,0 +1,10 @@
+Crypt Password
+==================================
+
+Library to generate and match cryptography password using BCrypt algorithm
+
+### Requirements
+mvn clean install
+
+### How to use
+java -jar crypt-password-<version>.jar password_to_crypt \ No newline at end of file
diff --git a/security/crypt-password/pom.xml b/security/crypt-password/pom.xml
new file mode 100644
index 00000000..bdb3bb4b
--- /dev/null
+++ b/security/crypt-password/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <parent>
+ <groupId>org.onap.dcaegen2.services.sdk.security</groupId>
+ <artifactId>dcaegen2-services-sdk-security</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId>
+ <artifactId>crypt-password</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+
+ <name>dcaegen2-services-sdk-security-crypt-password</name>
+ <description>DMaaP Security Module</description>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.security</groupId>
+ <artifactId>spring-security-crypto</artifactId>
+ <version>3.1.0.RELEASE</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>3.2.1</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <mainClass>org.onap.dcaegen2.services.sdk.security.DecodePassword</mainClass>
+ </transformer>
+ </transformers>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/CryptPassword.java b/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/CryptPassword.java
new file mode 100644
index 00000000..6ca78a01
--- /dev/null
+++ b/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/CryptPassword.java
@@ -0,0 +1,35 @@
+/*
+ * ============LICENSE_START=======================================================
+ * DCAEGEN2-SERVICES-SDK
+ * ================================================================================
+ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.dcaegen2.services.sdk.security;
+
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+
+public class CryptPassword {
+
+ private BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
+
+ public String decode(String arg) {
+ return encoder.encode(arg);
+ }
+
+ public boolean matches(String rawPassword, String encodedPassword){
+ return encoder.matches(rawPassword,encodedPassword);
+ }
+}
diff --git a/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/DecodePassword.java b/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/DecodePassword.java
new file mode 100644
index 00000000..85412eb6
--- /dev/null
+++ b/security/crypt-password/src/main/java/org/onap/dcaegen2/services/sdk/security/DecodePassword.java
@@ -0,0 +1,34 @@
+/*
+ * ============LICENSE_START=======================================================
+ * DCAEGEN2-SERVICES-SDK
+ * ================================================================================
+ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.dcaegen2.services.sdk.security;
+
+class DecodePassword {
+
+ private static CryptPassword cryptPassword = new CryptPassword();
+
+ public static void main(String[] args) {
+
+ try {
+ System.out.println(cryptPassword.decode(args[0]));
+ }catch(Exception e){
+ System.out.println("Param to crypt is required !");
+ }
+ }
+}