Я новичок в реакции на родную.Я могу снимать изображения с помощью реагировать на родные изображения, и я могу загрузить снятые фотографии в AWS S3.Но я хочу зашифровать или хэшировать захваченные изображения на устройстве Android, и перед загрузкой мне нужно расшифровать их.Сделанные фотографии должны быть зашифрованы / хэшированы внутри мобильного телефона. Через мое приложение мне нужно только расшифровать их.Как я могу это реализовать.
Существует два метода:
В методе takePic я хочу зашифровать его перед сохранением на устройстве и в методе загрузки, я хочу расшифровать их перед загрузкой.Я гуглил это.Но я не получил надлежащей документации по этому вопросу.
Не могли бы вы помочь мне сделать это?
Мой код:
import React, { Component } from "react";
import {
Platform,
StyleSheet,
Alert,
Text,
TouchableOpacity,
View,
Picker,
Animated,
Easing,
Image
} from "react-native";
import ImagePicker from "react-native-image-picker";
import { RNS3 } from "react-native-aws3";
export default class SecondScreen extends Component<Props> {
constructor(props) {
super(props);
this.state = {
file: "",
saveImages: []
};
}
takePic() {
const options = {
quality: 1.0,
maxWidth: 50,
maxHeight: 50,
}
ImagePicker.launchCamera(options,(responce)=>{
const file = {
uri: responce.uri,
name: responce.fileName,
method: "POST",
path: responce.path,
type: responce.type,
notification: {
enabled: true
}
};
this.state.saveImages.push(file);
});
}
_upload = saveImages => {
const config = {
keyPrefix: "uploads/",
bucket: "myBukectName",
region: "us-east-2",
accessKey: "***",
secretKey: "***",
successActionStatus: 201
};
this.state.saveImages.map(image => {
RNS3.put(image, config).then(responce => {
console.log(saveImages);
});
});
//once after upload is done delete from the gallary
};
render() {
return (
<View style={styles.container}>
<View style={styles.Camera}>
<TouchableOpacity onPress={this.takePic.bind(this)}>
<Text>Take Picture</Text>
</TouchableOpacity>
</View>
<View style={styles.Send}>
<TouchableOpacity onPress={() => this._upload()}>
<Text>Send</Text>
</TouchableOpacity>
</View>
</View>
);
}
}